0

我在 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 编写可能很重要。

4

2 回答 2

3

我找到了以下适合我的解决方案。我没有链接到生成的 Javascript 文件(就像我在问题中所做的那样),而是链接到dart.js将加载生成的 Javascript,以防浏览器不支持 Dart,如下所示:

<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 中的工作结果。

于 2014-09-17T15:14:22.457 回答
0

您不必做任何事情,让pub build/pub serve处理脚本标签如何包含到入口页面中。

问题是您无法构建可部署的 Dart 代码。dart2dart是实验性的,尚不支持(有关更多详细信息,请参阅在 Apache 服务器上运行 Dart WebAppdart2dart)。如果您使用pub serve支持 Dart 的浏览器运行 Dart 代码,而不支持 Dart 的浏览器运行构建为 JavaScript 的代码。

Dartium 也仅用于开发,因此没有处理 Dart 代码的浏览器。据我所知,Dart 团队试图在 Chrome 支持 Dart 时准备好 dart2dart。

但是对于使用pub serve它的开发来说很好,你不必做任何特别的事情。

于 2014-09-17T10:53:12.020 回答