Lazy読み込みモジュールで既に動作していたアプリケーションをAOTに変換しようとしています。私はAOTコードをコンパイルするために@ ngtools/webpackツールキットを使用していますが、Angular cantがLazy読み込みモジュールのコードを見つけられるというエラーが発生しています。このプロジェクトのモジュールは遅延ロードされた私のアプリのルート定義に言及価値LazyローディングのAngular2 AOT [Lazy Moduleへのパス] .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
:
のTSconfig:
...
"angularCompilerOptions": {
"genDir": "./src/ngfactory",
"entryModule": "src/app/app.module#AppModule"
}
...
のWebPACK
{
path: 'projects', loadChildren: './components/container/projects#ProjectModule'
},
これは私の設定はどのように見えるかです:
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);
私が行うことで、@ ngtools/WebPACKのでTSファイルをコンパイルしています:
// 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で作業する必要があります –