我在使用webpack& amp;愿意把它建成AOT。
我明白在我的应用中使用非AOT模块可能会导致失败,我怀疑
但是我从webpack / ngtools得到的输出只是:
找不到模块:错误:无法解决 ' ./../编译/ SRC /应用/ app.module.ngfactory'
仅此而已。
有没有办法轻松诊断,在构建过程中输出更多细节,找出哪些模块搞乱了?
答案 0 :(得分:0)
回答我自己的问题:)
这是因为在模块代码中使用了不兼容的AOT代码:
我在模块中使用变量声明,AOT不会因为它们不是真值而撒谎;
<强>之前:强>
declare var __API_URL__: boolean;
declare var __VERSION__: string;
// Ommitting code
@NgModule({
...
providers: [
{ provide: BASE_PATH, useValue: __API_URL__ },
{ provide: bypassAuth, useValue: __VERSION__ },
]
...
})
<强>后:强>
export function getConfig() {
var c = new EnvironmentConfiguration();
c.ApiUrl = process.env.API_URL;
c.Version = process.env.VERSION;
return c;
}
// Ommitting code
@NgModule({
...
providers: [
{
provide: EnvironmentConfiguration, useFactory: getConfig
},
]
...
})