1

https://www.dartlang.org/articles/web-ui/tools.htmlにある記事を読んだ後、それに従ってアプリケーションをコンパイルしようとしました。

web/app.html に保存されているアプリケーションは、「Run as Javascript」コマンドを使用して、DartEditor で Javascript に正常にコンパイルできます。

次のコマンド ラインを使用して、運用環境に配置するためのコンパイルを実行しようとすると、コピーされていないパッケージ パーツ ファイルで問題が発生します。

$ dart --package-root=packages/ packages/web_ui/dwc.dart --out /tmp/dart/ --no-rewrite-urls web/app.html
$ ls lib/app/
model_browser.dart    model_server.dart
$ ls lib/app/src/model/
model_browser.dart    model_server.dart    model_shared.dart
$ cd /tmp/dart
$ dart2js -v app.html_bootstrap.dart --package-root=packages/ -oapp.html_bootstrap.dart.js
...
info: scanning library file:///private/tmp/dart/_from_packages/bm/model_browser.dart
_from_packages/app/model_browser.dart:12:1: Error: Cannot read "_from_packages/app/src/model/model_shared.dart" (OS Error: No such file or directory, errno = 2).
part 'src/model/model_shared.dart';
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
info: Error: compiler cancelled: Error: Cannot read "_from_packages/app/src/model/model_shared.dart" (OS Error: No such file or directory, errno = 2).
...
$ ls _from_packages/app/
model_browser.dart     model_browser.dart.map
$ ls _from_packages/app/src/model/
model_browser.dart     model_browser.dart.map

実際、「model_shared.dart」ファイルは /tmp/dart/_from_packages/app/src/model/model_shared.dart にコピーされません。model_browser.dart の内容は次のとおりです

library model;
import 'dart:json' as json;
import 'package:bm/i18n.dart' as i18n;
import 'package:logging/logging.dart';
import 'package:web_ui/web_ui.dart';
part 'src/model/model_shared.dart';
part 'src/model/model_browser.dart';

DartEditor は、私のアプリケーションを Javascript として起動できます。私の「モデル」ライブラリの「部分」ステートメントを考慮に入れるためにdart2jsを起動するための正しいコマンドラインは何ですか?

4

1 に答える 1

0

この問題は、「--no-rewrite-urls」オプションと --out オプションの絶対パスに関連しています。「--no-rewrite-urls」オプションを削除し、--out オプションに相対パスを指定すると、dart2js のコンパイルは正常に行われます。

于 2013-07-13T12:14:58.493 に答える