6

次のダーツ 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;
}

Dartium で Dart ベースの Web アプリとして使用できるように、Web サーバーのどこかに (たとえば、github ページとして) デプロイする方法を教えてください。

  1. packagesWeb サーバー上にディレクトリを作成する必要がありますか?
  2. パッケージmy_hello.dartを Web サーバーにコピーする必要がありますか?

    packages/my_hello/...

    または、Dartium は指定された依存関係を解決できpubspec.yamlますか?

4

4 に答える 4

6

現時点ではpackages、コードとともにフォルダーをデプロイする必要があります。Dartium は、pubspec.yaml

現在進行中のツールがあります。このツールは、ツリー シェイキング、縮小化、およびすべてのコードを 1 つの展開可能なソース ファイルにまとめることとdart2dart同様のことを行います。dart2js手順については、このdartbug の問題と、Google グループに関するこの最近の議論を参照してください。

pub deployこれは、Web サーバーにデプロイするためにアプリをパッケージ化するために使用されるシナリオの一部を形成する可能性があります。

参照: dart の pubspec を使用した展開戦略とは : Dart2js 出力からの Javascript 展開セットの作成

更新:現在、 Dartbug 6006に取り組んでおり、次のように動作すると言われています。

「web」のすべてを deploy ディレクトリにコピーし、すべてのエントリポイントで dart2dart と dart2js を実行し、Dart ソース ファイルをクリーンアップします。これにより、追加の手順なしで提供できるディレクトリが生成されます。

于 2013-03-06T08:48:52.903 に答える
3

使用する:

$ pub build [--no-minify]

Web アプリをデプロイする準備が整ったときに使用pub buildします。を実行するpub buildと、現在のパッケージとそのすべての依存関係のアセットが生成され、build という名前の新しいディレクトリに配置されます。

Seth Ladd の Google+ への投稿より(利用できなくなりました)。

于 2013-11-15T21:26:40.517 に答える
2

個人的には、シンプルで高速な rsync を使用しています。

cd web
rsync -RLr . ../../deploy/
于 2013-03-07T01:55:57.730 に答える
0

これは、Web アプリが依存するパッケージを展開ディレクトリにコピーするユーティリティ スクリプトです - Gistを参照してください

于 2013-03-06T14:26:28.573 に答える