Polymer + Dart2js无效

时间:2014-02-15 22:22:39

标签: dart dart-polymer dart2js

当我使用Polymer库创建一个新应用程序时,它会生成一个示例项目。该项目在Dartium中运行得很好,但是当我编译它时(使用pub build),它不再起作用了。

我得到两个404和一个未被捕获的类型错误。

以下是我在Chrome中的控制台输出。

GET file:///home/michael/Code/sample/build/web/packages/shadow_dom/shadow_dom.debug.js  sample.html:1
GET file:///home/michael/Code/sample/build/web/packages/custom_element/custom-elements.debug.js  sample.html:2
Uncaught TypeError: Object #<HTMLDocument> has no method 'registerElement' sample.html_bootstrap.dart.js:6681
    wi sample.html_bootstrap.dart.js:6681
    ei sample.html_bootstrap.dart.js:9102
    Ok sample.html_bootstrap.dart.js:9099
    QL sample.html_bootstrap.dart.js:2184
    aX.vV sample.html_bootstrap.dart.js:759
    Vg sample.html_bootstrap.dart.js:644
    (anonymous function) sample.html_bootstrap.dart.js:12464
    init.currentScript sample.html_bootstrap.dart.js:12444
    (anonymous function) sample.html_bootstrap.dart.js:12458
    (anonymous function) sample.html_bootstrap.dart.js:12585

build/web/packages/中存在这些文件,所以我不确定为什么会收到404.

在我更新到最新的Dart SDK(开发频道)之前,此工作正常。它只是一个错误,可能会发生什么?

感谢。

更新

我看到Dart issue我遇到了另一个问题,所以我将他们的fix应用于示例项目,现在我只得到了Uncaught TypeError。现在我的输出看起来像这样:

Uncaught TypeError: Object #<HTMLDocument> has no method 'registerElement' sample.html_bootstrap.dart.js:6518
    wi sample.html_bootstrap.dart.js:6518
    ei sample.html_bootstrap.dart.js:8949
    Ok sample.html_bootstrap.dart.js:8946
    QL sample.html_bootstrap.dart.js:2142
    aX.vV sample.html_bootstrap.dart.js:725
    Vg sample.html_bootstrap.dart.js:587
    (anonymous function) sample.html_bootstrap.dart.js:12313
    init.currentScript sample.html_bootstrap.dart.js:12293
    (anonymous function) sample.html_bootstrap.dart.js:12307
    (anonymous function) sample.html_bootstrap.dart.js:12434

1 个答案:

答案 0 :(得分:1)

我通过在聚合物上放置依赖性约束来实现它。我的pubspec.yaml文件现在看起来像这样:

name: sample
description: A sample Polymer application
dependencies:
  browser: any
  polymer: "0.9.5"
transformers:
- polymer:
    entry_points: web/sample.html