【发布时间】:2020-06-04 03:03:48
【问题描述】:
在浏览器 prod/aot 模式下运行应用程序时获取消息。下面是我的 main-aot.ts
未捕获的 NullInjectorError: StaticInjectorError(Platform: core)[CompilerFactory]: NullInjectorError: No provider for CompilerFactory!
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { platformBrowser } from '@angular/platform-browser';
//import { AppModuleNgFactory } from './app/app.module.ngfactory';
import { AppModule } from './app/app.module';
enableProdMode();
// tslint:disable-next-line:no-console
/*platformBrowser().bootstrapModuleFactory(AppModuleNgFactory).catch(err => {
console.log('CANNOT LOAD AOT MODULE')
console.dir(AppModuleNgFactory);
console.error(err)
});*/
platformBrowser().bootstrapModule(AppModule).catch(err => {
console.log('CANNOT LOAD AOT MODULE')
console.dir(AppModule);
console.error(err)
});
【问题讨论】:
-
你应该在 AOT 中引导 ModuleNgFactory
-
你试过重新运行
npm install -
@Andrei-- Angular 9/ivy 不生成 NgFactory 文件。
-
@NathanToulbert - 是的,但在这种情况下会有什么帮助?
-
它可能不会(在你的情况下显然没有)但这始终是我处理此类问题的第一步。类似于关闭或拔出运行缓慢或无法正常工作的计算机。这是一个快速的步骤,不会有什么坏处,因为您只是重新安装已经安装的依赖项。但是,如果安装不正确或不完整(有时 npm 就是这种情况),它将为您节省大量时间和精力。