通常,Dart通过以下代码连接到HTML:
<script type="application/dart" src="script.dart"></script>
<script src="packages/browser/dart.js"></script>
通过运行Build,IntellijIdea将第一行转换为<script src="script.dart.js">
并删除第二行,OK。但是我有一些问题:
<script type="application/dart" src="script.dart" id="dart-script"></script>
<script>
(function() {
if (navigator.userAgent.indexOf('(Dart)') === -1) {
var dartScript = document.querySelector('#dart-script');
dartScript.type = 'application/javascript';
dartScript.src = 'script.dart.js';
}
})();
</script>
效果很好。你觉得怎么样?
答案 0 :(得分:1)
我还没有听说过Dart脚本标签的任何问题。
使用https://pub.dartlang.org/packages/dart_to_js_script_rewriter的变换器 删除只有直接支持Dart的浏览器才需要的Dart脚本标记,这只是Dartium,它不应该用于访问Web(仅用于开发目的),因此对于部署,此脚本标记是无关紧要的。
答案 1 :(得分:0)
Dart插件在IntelliJ IDEA,WebStorm和其他JetBrains&#39;中是相同的。集成开发环境。并且它在构建时对源代码没有做任何事情,它只调用{
"template": "dades2",
"order": 1,
"settings": {
"number_of_shards": 1
},
"mappings": {
"dades2": {
"_all": {
"enabled": false
},
"properties": {
"location": {
"type": "geo_point",
"geohash": true,
"geohash_prefix": true
}
}
}
}
}
,就像从命令行运行它一样(假设你在谈论&#39; Pub:build&#39; action in pub build
文件的上下文。
答案 2 :(得分:0)
我不想挑剔Idea或WebStorm,但这是我在运行Build(OSX El Capitan)之后获得的,html + head移位并且底部有一个巨大的空白。虽然代码的含义是相同的,但我不会对我的缩进进行任何修改,抱歉。
<!DOCTYPE html><html lang="en"><head>
<!-- My HTML -->
</head>
<body>
<!-- My HTML -->
<script src="script.dart.js"></script>
</body></html>
答案 3 :(得分:0)
我会用这个新的多价代码来阻止我的谵妄。
<script>
(function() {
var elem = document.createElement('script');
document.querySelector('body').appendChild(elem);
if (navigator.userAgent.indexOf('(Dart)') === -1) {
elem.type = 'application/javascript';
elem.src = 'script.dart.js';
}
else {
elem.type = 'application/dart';
elem.src = 'script.dart';
}
})();
</script>
感谢掌声,这是所有人!