如何部署 Polymer dart 应用程序

Posted

技术标签:

【中文标题】如何部署 Polymer dart 应用程序【英文标题】:How to deploy a Polymer dart application 【发布时间】:2013-08-27 11:52:48 【问题描述】:

我有一个使用 Polymer.dart 的 dart 应用程序,我用 boot.js(在我的 index.html 中)替换了 dart.js 文件,现在我想部署这个应用程序以便拥有一个可以工作的 javascript 应用程序。

但是,当我启动 build.dart 时,我有:

Total time spent on web/index.html                           -- 504 ms
Total time                                                   -- 555 ms

但什么都没有创建,没有更多的“out”文件夹。 当我进行 Pub Deploy 时,它会创建一个“deploy”文件夹,但该版本无法正常工作(因为我认为 build.dart 无法正常工作)。

你有什么想法吗?

【问题讨论】:

【参考方案1】:

目前,这是一个两步过程。我怀疑这会变得更容易。同时:

创建一个如下所示的 build.dart:

import 'package:polymer/builder.dart';
main() 
  build(entryPoints: ['web/index.html'], options: parseOptions(['--deploy']));

请注意,目前产生了很多警告和提示。你可以暂时忽略它们。

【讨论】:

感谢 Seth,但我无法部署现在 /out 下的版本,我有一个错误:打破异常:错误状态:没有元素我在错误跟踪器中发出信号:code.google.com/p/dart/issues/detail?id=12732 这对我不起作用:“打破异常:FormatException:找不到名为“deploy”的选项。 @BrianSlesinsky 我也一样。 :( 从 0.7.1 开始,额外的参数被删除,你需要为 build(args, entry).then( (_) => deploy.main()) 提供polymer/deploy.dart。但是,我无法从 pub deploy 获取 js 以与任何浏览器一起使用 :( JS 编译对我也不起作用。一方面,我真的很后悔从 web_ui 迁移到聚合物。另一方面,web_ui 中有一些东西不起作用,现在在聚合物中起作用。看起来 web_ui 在实现过程中被丢弃了,而聚合物只完成了一半。真的很伤心:(【参考方案2】:

对于当前版本,我已完成以下步骤:

在您的控制台上键入: dart build.dart --deploy dart2js out/web/index.html_bootstrap.dart -oout/web/index.html_bootstrap.dart.js

index.html:

<!DOCTYPE html>
<html>
  <head>
    ...    
    <link rel="import" href="clickcounter.html">

    <script type="application/dart">export 'package:polymer/init.dart';</script>
    <script src="packages/browser/dart.js"></script>
  </head>
  <body>
    ... 
    <div id="sample_container_id">
      <click-counter count="5"></click-counter>
    </div>
  </body>
</html>

build.dart:

import 'package:polymer/builder.dart';   
main(args) 
  build(entryPoints: ['web/aaa.html'],
    options: parseOptions(args));

【讨论】:

以上是关于如何部署 Polymer dart 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Angular Dart 和 Polymer Dart 的区别

在 Polymer Dart 中扩展纸张项目

如何使用 dart 包部署 dart web 应用程序?

在 Polymer.dart 中定义全局过滤器/变压器

如何在Polymer中延迟运行功能?

dart语言中如何观察简单变量