Je reçois cette erreur ci-dessous après avoir mis à jour mon angular-cli
ERROR in Template parse errors:
Can't bind to 'index' since it isn't a known property of 'tag'. ("own)="handleKeydown($event, item)"
(onTagEdited)="onTagEdited.emit(item)"
[ERROR ->][index]="i"
[attr.tabindex]="readonly ? -1 : 0"
[class.readonly]="readonly""): TagInputComponent@16:13
ERROR in ./src/main.ts
Module not found: Error: Can't resolve './$$_gendir/app/app.module.ngfactory' in 'D:\xxxx\yyyy\eeeee\eeee\src'
@ ./src/main.ts 5:0-74
@ multi ./src/main.ts
Cette erreur se produit lorsque je lance ng build --prod
et fonctionne correctement lorsque je lance ng build
sans aucun paramètre.
Lorsque vous exécutez angg build in angular 2, la dernière version de angular-cli s’exécute automatiquement avec le paramètre --aot (compilation à l’avance), de sorte qu’elle tente d’optimiser votre code. Vous avez un package qui n'est pas encore compatible pour l'optimisation. Vous devez donc mettre à jour vos paquets. Très probablement les paquets qui ont **forRoot()**
dans votre app.module.ts
Je recommande de mettre à jour tous les paquets.
Un moyen simple de mettre à jour votre paquet consiste à utiliser le paquet ncu npm comme ci-dessous, que je l’ai obtenu de Comment puis-je mettre à jour correctement angular 2 (npm) vers la dernière version?
Installer
npm install -g npm-check-updates
Usage
ncu
pour l'affichage
ncu -u
pour réécrire votre package.json
et lancez npm install
pour mettre à jour vos paquets
Si ci-dessus ne fonctionne pas, vous devrez peut-être mettre à jour votre code pour une conformité ultérieure. Reportez-vous à cette URL ci-dessous pour apporter des modifications à votre code . https://medium.com/@isaacplmann/getting-your-angular-2-library-ready-for-aot-90d1347bcad
J'ai eu le même problème et comment j'ai fini par le résoudre: Supprimez le module de résolution améliorée de node_modules, puis exécutez
npm install [email protected]
Après cela, les autres constructions ont fonctionné comme prévu ...
Utilisation:
ng build --env=prod
au lieu de:
ng build --prod
Face à la deuxième partie de ce numéro.
ERROR in ./src/main.ts
Can't resolve './$$_gendir/app/app.module.ngfactory'
Résolu en mettant angular/cli à jour à 1.2.6 pour angular 4
Ensuite, l’exécution de "ng build --prod" a généré avec succès la construction de production.
Même erreur après la mise à niveau de Angular 6 à 7.1.4. J'ai suivi les instructions trouvées ici .
L'erreur renvoyée était:
ERROR in ./src/main.server.ts
Module not found: Error: Can't resolve './app/app.server.module.ngfactory'
Lors de la tentative de pré-rendu en utilisant la commande.
ng run [my-project-name]:server
La raison en est que j'ai activé Ivy Render, qui n'est pas en production prêt . En supprimant les lignes:
"angularCompilerOptions": {
"enableIvy": true
}
D'après le fichier tsconfig.json, tout allait bien dans le monde.
Pour moi, je n'ai pas déclaré le composant que je viens de créer dans module.ts. Cela a fonctionné quand je l'ai déclaré. Vérifiez si l'un de vos composants n'est pas déclaré dans module.ts.
Apparemment, ce message d'erreur peu utile et déroutant peut être causé par l'utilisation d'exportations par défaut dans votre TypeScript utilisé par Angular AOT (prérendering). L'utilisation de export default class
provoquera cette erreur avec toutes les versions de Angular et n'est actuellement pas prise en charge. Vous devez changer en export class
.
Pour afficher l'état actuel du problème et voir s'il est corrigé, consultez https://github.com/angular/angular/issues/11402 . Au moment où j'écris ceci, le dossier est ouvert depuis plus de deux ans, mais ils prétendent qu'il sera réglé un jour.