Я пытаюсь преобразовать приложение, которое уже работало с Lazy загруженными модулями в AOT. Я использую инструментарий @ ngtools/webpack для компиляции кода AOT, однако я попадаю в сообщение об ошибке, когда Angular can not может найти код Lazy загруженного модуля, как кажется.Angular2 AOT с Lazy loading Невозможно решить [путь к ленивому модулю] .ngfactory.ts
ERROR in ./src/ngfactory async
Module not found: Error: Can't resolve '/Library/WebServer/Documents/envato-teams/src/ngfactory/src/app/components/container/projects.ngfactory.ts' in '/Library/WebServer/Documents/envato-teams/src/ngfactory'
@ ./src/ngfactory async
@ ./~/@angular/core/src/linker/system_js_ng_module_factory_loader.js
@ ./src/ngfactory/src/app/app.module.ngfactory.ts
@ ./src/main.aot.ts
@ multi main
Стоит упомянуть в своем определении приложение маршрутов модуль этого проекта загружается лениво:
{
path: 'projects', loadChildren: './components/container/projects#ProjectModule'
},
Это как моя установка выглядит следующим образом:
TSconfig:
...
"angularCompilerOptions": {
"genDir": "./src/ngfactory",
"entryModule": "src/app/app.module#AppModule"
}
...
Webpack :
new ngtools.AotPlugin({
tsConfigPath: './tsconfig.aot.json',
}),
Main.aot.ts
/*
* Providers provided by Angular
*/
import { platformBrowser } from '@angular/platform-browser';
import { AppModuleNgFactory } from './ngfactory/src/app/app.module.ngfactory';
import { Servicesconfig } from './app/services/index';
platformBrowser().bootstrapModuleFactory(AppModuleNgFactory);
В WebPack я составителя тс файлы с @ ngtools/Webpack, выполнив:
// Support for .ts files.
{
test: /\.ts$/,
loaders: ['@ngtools/webpack'],
exclude: [/\.(spec|e2e)\.ts$/]
},
Благодарим Вас за помощь!
У вас есть такая же проблема ... пока не найдено никаких исправлений ... – user2363245
Ответ, который я получил в данный момент в «Угловой», - это то, что AOT и ленивая нагрузка не играют хорошо вместе. Он скоро будет исправлен, хотя https://github.com/angular/angular-cli/commit/88131a08fd39eab5fc49dfce952207ee826bc8ef Его еще не сливают, но вскоре он должен быть выпущен и работать в @ ngtools/webpack –