在同一页面中测试Dart和dart2js代码

时间:2014-09-17 10:43:57

标签: javascript laravel dart dart2js

我在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编写这个应用程序可能很重要。

2 个答案:

答案 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的开发,​​它很好,你不需要做任何特殊的事情。