【问题标题】:Compile dart in the browser在浏览器中编译 dart
【发布时间】:2013-10-04 01:26:48
【问题描述】:

在我的应用程序中,我生成了大型飞镖类。现在我在服务器上编译它们,这需要 CPU 时间。在浏览器中编译 Dart 代码会更好。然后通过 spawnURI 加载代码。

是否可以像在 try.dartlang.org 中那样以受支持的方式从 Dart 代码中调用 dart2js 编译器,还是需要将编译器复制到我的项目中?

【问题讨论】:

  • 这......不是很清楚你想要做什么。你只将 Dart 编译为 JS 一次,对吧?除了 try.dartlang.org 在服务器上进行编译。 dart2js 编译器不是用 JavaScript 编写的,不能在浏览器上运行。
  • 我们想了解更多关于您的用例的信息。愿意通过 misc@dartlang.org 询问吗?
  • Juhana,但是 dart2js 是用 dart 编写的,你可以用 dart2js 编译成 javascript。听起来是递归的,但就是这样;)
  • 用例如下。用户访问 beta.pshdl.org 并开始使用 PSHDL 编写代码。然后他想运行该 PSHDL 代码的仿真。然后,PSHDL 代码在服务器端编译为 Dart,并在客户端通过 spawnURI 加载。当客户端是 Dartium 时,这很有效,但在大多数情况下它不是。因此我需要通过 dart2js 将生成的 Dart 代码编译为 js。不幸的是,我没有一个谷歌服务器场来托管所有这些,所以我想将 dart2js 移动到客户端。我希望这会有所帮助。更多解释可以在我的 blog.pshdl.org 上找到

标签: dart dart2js


【解决方案1】:

在服务器上将 Dart 编译为 JavaScript 会更快,因为您可以通过 Dart VM 运行 dart2js。 try.dartlang.org 运行在 dart2js 的特殊版本中,尚未合并到主源代码中。

【讨论】:

  • 这是我所期望的 :(
  • 您能告诉我们更多关于您为什么要在客户端上编译的信息吗?它会变慢。谢谢你的背景。
  • 因为每次调用 dart2js 在服务器上至少消耗 3.5s。因为我没有服务器场,但实际上只是一个处理多个客户端的小型虚拟服务器会完全阻止它。例如,如果 10 个客户端决定同时触发 dart2js 编译,则最后一个客户端必须等待 35 秒。因此,即使客户端的编译时间超过 3.5 秒,它也可能比我负载良好的服务器(还有其他事情要做)更快。而且每个客户端不会只触发一次编译,而是会在短时间内多次触发。
猜你喜欢
  • 1970-01-01
  • 2017-01-21
  • 1970-01-01
  • 1970-01-01
  • 2022-11-14
  • 2020-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多