Какая команда dart2js запускается DartEditor?

После прочтения статьи, найденной по адресу https://www.dartlang.org/articles/web-ui/tools.html#editor-background-compilation я попытался скомпилировать свое приложение, следуя ему.

Мое приложение, хранящееся в web/app.html, может быть успешно скомпилировано в 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, чтобы учитывать операторы «части» моей библиотеки «модели»?


person sestegra    schedule 11.07.2013    source источник


Ответы (1)


Проблема связана с параметром "--no-rewrite-urls" и абсолютным путем в параметре --out. Если я удалю параметр "--no-rewrite-urls" и укажу относительный путь в параметре --out, компиляция dart2js будет успешно выполнена.

person sestegra    schedule 13.07.2013