My app运行dev开发运行正常,但我没有让AOT生成版本工作。对于每个延迟加载的模块,我收到如下错误:
ERROR in ./target/aot/src/main/webapp/app/app.module.ngfactory.ts
Module not found: Error: Can't resolve './features/about/about.module.ngfactory' in '/Users/Dan/work/a/gba/target/aot/src/main/webapp/app'
@ ./target/aot/src/main/webapp/app/app.module.ngfactory.ts 535:190-240
@ ./src/main/webapp/app/app.main-aot.ts
和这样的一个:
ERROR in ./src/main/webapp/app/app.routing.ts
Module not found: Error: Can't resolve '../../../../target/aot/src/main/webapp/app/features/about/about.module.ngfactory' in '/Users/Dan/work/a/gba/src/main/webapp/app'
@ ./src/main/webapp/app/app.routing.ts 15:137-228
@ ./target/aot/src/main/webapp/app/app.module.ngfactory.ts
@ ./src/main/webapp/app/app.main-aot.ts
路径似乎正确,但这些模块的文件不存在。如果我急切地加载一个延迟加载的模块,那么那个错误就会消失。
我按照angular-router-loader的指示行事。我想我做得对,但没有运气
// webpack.prod.js
{ loader: 'angular-router-loader?aot=true&genDir=target/aot' }
// tsconfig-aot.json
"angularCompilerOptions": {
"genDir": "target/aot",
"skipMetadataEmit": true
}
答案 0 :(得分:2)
我怀疑你的问题与你的tsconfig-aot.json
有关,因为angular的编译器会查找你传递给tsconfig的文件。
所以这是我的假设:
<强> tsconfig-aot.json 强>
"files": [
"src/main/webapp/app/app.module.ts",
"src/main/webapp/app/app.main-aot.ts",
"src/main/webpapp/app/features/about/about.module.ts" <= try to add this
],