2013-07-11 26 views
1

在閱讀https://www.dartlang.org/articles/web-ui/tools.html上的文章後,我試着按照它來編譯我的應用程序。哪個dart2js命令由DartEditor啓動?

存儲在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的正確命令行是什麼?

回答

0

該問題與「--no-rewrite-urls」選項和--out選項中的絕對路徑相關聯。 如果我刪除了「--no-rewrite-urls」選項並在--out選項中放置了一個相對路徑,則dart2js編譯成功完成。

+0

[問題#555](https://github.com/dart-lang/web-ui/issues/555)已填寫 – sestegra