在Angular 2中使用Webpack 2进行惰性加载模块时,如果抛出模板解析错误,可能是由于以下原因导致的:
const routes: Routes = [
{
path: 'lazy',
loadChildren: () => import('./lazy/lazy.module').then(m => m.LazyModule)
}
];
NgModule
。例如:@NgModule({
imports: [
CommonModule,
LazyRoutingModule
],
declarations: [LazyComponent]
})
export class LazyModule { }
app-routing.module.ts
)正确导入了所有需要的模块,并且没有拼写错误。
// webpack.config.js
module.exports = {
// ...
resolve: {
extensions: ['.ts', '.js'],
},
// ...
};
tsconfig.json
文件中启用了esModuleInterop
和allowSyntheticDefaultImports
选项:{
"compilerOptions": {
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
// ...
}
}
providers
数组中正确声明,或者在根模块中全局声明。如果以上步骤都无法解决问题,可以尝试以下操作:
ng build --prod --aot
领取专属 10元无门槛券
手把手带您无忧上云