Obtenez le message lors de l'exécution de l'application dans le navigateur Prod/Aot. Ci-dessous mes principaux aot.ts
Non capturé NullInjectorError: StaticinjectorError (Platform: Core) [CompilerFactory]: NullInjectorError: Aucun fournisseur de compilateur!
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)
});
In angular 9 avec lierre, il n'y a plus de fichiers ngactory, vous n'avez plus besoin de MAIN-AOT.TS, seuls les principaux principaux.
platformBrowserDynamic()
.bootstrapModule(AppModule)
.catch(err => console.error(err));
J'ai récemment connu une erreur similaire: NullInjectorError: No provider for CompilerFactory!
Après le déploiement de mon serveur distant. J'avais fait une construction automatisée qui construisait le dist/
à l'aide de npm run build --prod
Changer cela en ng build --prod
travaillé pour moi!
Veuillez vérifier que vos environnements sont en cours d'exécution/construisant l'application à l'aide d'outils similaires.
J'avais cette erreur parce que je n'utilisais pas `` `` ngcc`` 'comme maintenant avec Angular 9 lorsque Ivy est activé. Pour résoudre ce problème, j'ai ajouté ce qui suit à mon package.json scripts :
"postinstall": "ngcc"
Puis ran ça:
npm run postinstall
De plus, le suivant =bootstrap code était suffisant, la plateformeBrowseerdynamic n'est pas requise avec AOT activé:
platformBrowser().bootstrapModule(AppModule)