En cours d'exécution ngc
sur mon module, il fonctionnait bien avec angular 4.4.3 (et le compilateur 4.4.3). Maintenant j'ai mis à jour vers 5.0.0 (à la fois angular et le compilateur) et j'ai l'erreur suivante :
Erreur : État illégal : Impossible de charger le résumé de la directive NgClass dans [...]/node_modules/@angular/common/common.d.ts.
Mon fichier tsconfig.json ressemble à ceci :
{
"compilerOptions": {
"baseUrl": ".",
"declaration": true,
"stripInternal": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"module": "es2015",
"moduleResolution": "node",
"outDir": "[...]/",
"paths": {...},
"rootDir": "[...]/plugins/",
"target": "es5",
"skipLibCheck": true,
"lib": [
"es2015",
"dom"
],
"sourceMap": true,
"inlineSources": true,
"noImplicitAny": true
},
"files": [
"[...]/plugins/users/index.ts"
]
}
Je ne sais pas ce qui peut causer le problème dans le fichier que j'essaie de compiler. J'ai vu des erreurs similaires ici et là, mais pas directement liées au module commun. Il est difficile de poster un exemple pour reproduire l'erreur car elle ne se produit pas avec d'autres modules.
Editer 1 :
Ma configuration est la suivante : un module MyModuleA
qui se construit avec succès, MyModuleB
qui utilise MyModuleA
qui ne construit pas.
@NgModule({
imports: [
CommonModule,
IonicModule,
TranslateModule.forChild()
]
})
export class MyModuleA {
static forRoot(): ModuleWithProviders {
return {
ngModule: MyModuleA,
providers: [
ModuleAService
]
};
}
}
@NgModule({
imports: [
HttpClientModule,
MyModuleA
]
})
export class MyModuleB {
/**
* Instantiate module (for main module only).
*/
static forRoot(): ModuleWithProviders {
return {
ngModule: MyModuleB,
providers: [
ModuleBService
]
}
}
}
Si j'inclus CommonModule
en MyModuleB
J'ai une autre erreur :
Error: Illegal state: Could not load the summary for directive ActionSheetCmp in [...]/node_modules/ionic-angular/components/action-sheet/action-sheet-component.d.ts
Je peux maintenant inclure IonicModule
en MyModuleB
d'avoir le prochain illegal state error
(cette fois lié au module translate), mais je n'utilise pas du tout ces modules dans MyModuleB
Alors pourquoi dois-je tous les importer ?