在pub构建期间关闭dart2js

时间:2014-03-13 17:16:47

标签: dart dart-polymer dart-editor dart-pub dart2js

我正在为pub build编写自定义转换器。我想在调试变压器期间关闭dart文件到js的编译以节省时间。有可能吗?

目前,我的简化pubspec.yaml

name: my_proj
dependencies:
    polymer: any
transformers:
    - my_proj

2 个答案:

答案 0 :(得分:3)

来自https://code.google.com/p/dart/issues/detail?id=17484#c4

的答案
  

>   首先,在迭代循环期间,您应该考虑使用" pub serve"而不是" pub build"。它只会在请求时编译dart2js输出,因此您可以轻松测试Dart输出而无需等待无用的JS。不幸的是,它不会自动重新加载你的变压器,但即使这样它仍然应该更快。

     

>   如果你真的想使用" pub build",你可以用" - 模式调试"来运行它。让它生成JS,然后添加" {$ dart2js:{$ exclude:web}}"作为有效禁用dart2js的变换器。

另见文档https://www.dartlang.org/tools/pub/assets-and-transformers.html#exclude-assets

答案 1 :(得分:1)

pub build只有pub serve --no-dart2js没有选项。

您可以临时修改文件

在您的dart安装目录中

dart/sdk/lib/_internal/pub/lib/src/barback/build_environment.dart并将useDart2JS设置为“false”。

另见https://code.google.com/p/dart/source/browse/branches/bleeding_edge/dart/sdk/lib/_internal/pub/lib/src/barback/build_environment.dart#56

我自己没有尝试过,但我认为这应该有用。

或者在pubspec.yaml

中排除dart2js转换器的web目录
transformers:
- $dart2js:
    $exclude: web