当我使用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
答案 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