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

gub*_*aer 6 dart dart2js

考虑以下dart Web应用程序:

import "dart:html";
// assume this is a custom library hosted somewhere on github, i.e. 
// there is a pubspec.yaml entry
//
// dependencies:
//    my_hello:
//      git: http://github.com/foo/my_hello.git
//
import "package:my_hello/my_hello.dart" as hello;

main() {
  query("#message").innerHtml = hello.message;
}
Run Code Online (Sandbox Code Playgroud)

如何在Web服务器上的某个地方部署它(例如作为github页面),以便它可以在Dartium中用作基于dart的Web应用程序?

  1. 我是否必须packages在Web服务器上创建目录?
  2. 我是否必须将包复制my_hello.dart到Web服务器?

    packages/my_hello/...

    或者Dartium是否能够解决给定的依赖关系pubspec.yaml

Chr*_*ett 6

目前,您需要部署packages文件夹以及代码.Dartium不使用pubspec.yaml

目前正在进行中,有一个dart2dart工具,它做了类似的事情dart2js- 树摇动,缩小,并将所有代码放入一个可部署的源文件中.请参阅此dartbug问题以获取指导以及最近关于Google群组的讨论.

这可能是该pub deploy方案的一部分,该方案将用于打包您的应用程序以在Web服务器上进行部署.

另请参阅:使用dart上的pubspec可能是一个部署策略, 并且:从Dart2js输出创建Javascript部署集

更新:Dartbug 6006目前正在进行中,并表示它的工作原理如下:

它会将"web"中的所有内容复制到deploy目录中,在所有入口点上运行dart2dart和dart2js,并清理Dart源文件.这将生成一个无需任何额外步骤即可提供的目录.