【问题标题】:Compile a Polymer app in Dart在 Dart 中编译一个 Polymer 应用程序
【发布时间】:2013-11-11 23:37:53
【问题描述】:

我正在使用 Dart 0.8.10_r30104 (DEV),发现它无法生成 Javascript(不过应用程序本身可以在 Dartium 中运行)。

当我在 builder.dart 上选择“生成 Javascript”时提示错误:

--- Nov 12, 2013 7:35:43 AM Running dart2js... ---
F:\dart\dart-sdk\bin\dart2js.bat --out=E:\My Books\Sitepoint\Sample\build.dart.js E:\My Books\Sitepoint\Sample\build.dart
/E:/My Books/Sitepoint/Sample/packages/polymer/builder.dart:83:8: Error: Library not found 'dart:io'.
import 'dart:io';
   ^^^^^^^^^
/E:/My Books/Sitepoint/Sample/packages/polymer/src/build/linter.dart:11:8: Error: Library not found 'dart:io'.
import 'dart:io';
   ^^^^^^^^^
/E:/My Books/Sitepoint/Sample/packages/barback/src/asset.dart:9:8: Error: Library not    found 'dart:io'.
import 'dart:io';
   ^^^^^^^^^
...
/E:/My Books/Sitepoint/Sample/packages/analyzer/src/generated/element.dart:7220:17: Hint: The class 'VoidTypeImpl' overrides 'operator==', but not 'get hashCode'.
   bool operator ==(Object object) => identical(object, this);
            ^^
/E:/My Books/Sitepoint/Sample/packages/analyzer/src/generated/element.dart:4874:17:     Hint: The class 'PropertyAccessorElementImpl' overrides 'operator==', but not 'get hashCode'.
  bool operator ==(Object object) => super == object && identical(isGetter, ((object as PropertyAccessorElement)).isGetter);
            ^^
Error: Compilation failed.

===

出了什么问题?

【问题讨论】:

    标签: javascript compilation dart polymer


    【解决方案1】:

    要为聚合物应用程序生成 JS,您需要在应用程序的顶层运行“pub build”。这将创建一个名为 build 的顶级目录,其中将包含您的 JS(以及指向 JS 的 html)。

    【讨论】:

    • 注意:为了运行 pub build,或使用“Build Polymer App”菜单选项,您需要使用特殊的转换器部分设置您的 pubspec.yaml(请参阅groups.google.com/a/dartlang.org/d/msg/web-ui/jdoLc_roMLI/…)。
    • 感谢您的意见。 dgrove 的观点解决了我的“默认”聚合物应用程序的编译问题。我尝试了 Siggi 在帖子中提到的内容,但尚未成功。会继续努力。
    • 设法构建了我的应用程序的 JS 版本。感谢大家的关注和有用的提示。
    猜你喜欢
    • 2016-07-27
    • 1970-01-01
    • 2014-12-27
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    相关资源
    最近更新 更多