в этой настройке, как вы транспилируете библиотеку angular2, импортируемую из сгенерированных файлов ngfactory?
текущее приложение представляет собой комбинацию веб-пакета + кулинарная книга aot на основе документов angular.
angular.io/docs/ts/latest/cookbook/aot-compiler.html
angular.io/docs/ts/latest/guide/webpack.html
У меня есть рабочий POC, где вы можете воспроизвести проблему из этого репо:
https://github.com/jetlogs/Angular2-AOT-Localization
после того, как вы сделали компиляцию/связку, вы можете открыть 2 файла:
non-aot.html – это не-aot-версия того же приложения, и она загружается нормально
aot.html – этот файл завершается с ошибкой:
ng_module_factory.js?95b1:13 Uncaught SyntaxError: Неожиданный импорт токена
Ожидаемое поведение
ожидаемое поведение заключается в том, что aot.html и не-aot.html должны вести себя одинаково
Минимальное воспроизведение задачи с инструкциями
клонируйте репо, затем запустите эти команды в рабочем каталоге:
npm install
npm postinstall
npm run build
затем откройте aot.html, чтобы воспроизвести проблему
Есть ли способ исправить операторы импорта из импортированных библиотек angular2? Спасибо
ОБНОВЛЕНИЕ:
Я попытался перенести исходные файлы angular2, которые находятся в ES2015, с помощью загрузчика babel:
{
test: /\.js$/,
loader: 'babel',
include: [
/node_modules(\\|\/)@angular/
],
exclude: [
/\.umd\.js$/
],
query: {
presets: ['es2015']
}
},
теперь он компилируется без проблем с несовместимостью с ES6, однако теперь он обнаруживает новую ошибку только для aot.html
:
core.umd.js?e2a5:3272Uncaught Ошибка: нет провайдера для NgZone!
любая причина, по которой транспилированные исходные коды angular2, на которые ссылается компилятор AOT, вызывают проблемы с NgZone?
Я обновил репозиторий выше, чтобы отразить мои последние изменения
ОБНОВЛЕНИЕ 2: 13.10.16
Обновлен до Angular 2.1
все та же проблема