是否有必要编译Dart for Chrome

时间:2014-09-07 14:23:05

标签: google-chrome firefox dart angular-dart dart-pub

我意外地发现了一些东西。当我创建一个简单的AngularDart应用程序时,它在Chrome和Firefox(不仅仅是Dartium)中运行得很好。我明白这需要额外的一步来编译,但LO!它在Firefox和Chrome中运行。是什么给了什么?

main.dart

import 'package:angular/angular.dart';
import 'package:angular/application_factory.dart';

void main() {
  applicationFactory().run();
}

的index.html

<!DOCTYPE html>
<html ng-app>
<head>
    <title>Hello, World!</title>


</head>
<body>

<h3>Hello {{name}}!</h3>
  Name: <input type="text" ng-model="name">

  <script type="application/dart" src="main.dart"></script>
  <script type="text/javascript" src="packages/browser/dart.js"></script>
</body>
</html>

Chrome running Dart

Firefox running Dart

1 个答案:

答案 0 :(得分:0)

DartEditor在后台运行pub serve,为浏览器提供文件 当浏览器无法处理Dart时,会执行JavaScript例程,该例程会请求JavaScript源并pub serve动态转换(编译)到JavaScript并将此生成的JavaScript提供给浏览器。

所以,是的,你需要编译到没有本机Dart支持的浏览器。

pub build(默认情况下,当从CLI运行时,在运行模式下运行)除了从Dart生成JavaScript之外,还会发生树木抖动以删除未使用的代码并缩小以使结果JavaScript变小。
pub serve没有这样做。