我在Dart上试试运气。 我有一个加载Dart文件和生成的Javascript的应用程序:
<script type="application/dart" src="/bones/build/web/quiz/quiz1.dart">
</script>
<script src="/bones/build/web/quiz/quiz1.dart.js">
</script>
当我在Dartium中打开此页面时,Javascript和Dart代码都会运行(我只需要一个)。
如何在Dartium中打开时只运行Dart文件而不是Javascript,并在Firefox或Chromium中打开时运行Javascript?
我应该创建两个页面,一个用于Dart,一个用于Javascript吗? 这意味着当我想要改变任何东西时,我必须编辑两个文件。我觉得不对。
亲切的问候, 亨德里克·扬
----编辑----
我现在意识到使用Laravel框架用PHP编写这个应用程序可能很重要。
答案 0 :(得分:3)
我发现以下解决方案对我有用。而不是链接到生成的Javascript文件(正如我在我的问题中所做的那样),我链接到 dart.js
,如果浏览器不支持Dart,则会加载生成的Javascript,例如这样:
<script type="application/dart" src="/bones/build/web/quiz/quiz1.dart">
</script>
<script src="/bones/build/web/packages/browser/dart.js">
</script>
这使我有可能在Dartium以及Firefox和Chromium中看到我的工作成果。
答案 1 :(得分:0)
您无需执行任何操作,让pub build
/ pub serve
处理脚本标记如何包含在输入页面中。
问题是您无法构建可部署的Dart代码。 dart2dart
是实验性的,尚不支持(有关dart2dart
的更多详情,请参阅Run Dart WebApp on Apache Server)。
如果您使用pub serve
,支持Dart的浏览器会运行Dart代码,而不支持Dart的浏览器会运行为JavaScript构建的代码。
Dartium也仅用于开发,因此没有处理Dart代码的浏览器。据我所知,Dart团队尝试在Chrome支持Dart时准备好dart2dart。
但是对于使用pub serve
的开发,它很好,你不需要做任何特殊的事情。