Comment corriger l'erreur Angular6 « _getAriaLabel is not a function » avec le build de production

Problème :

Vous développez une application Angular6 et en mode développement tout fonctionne correctement. Cependant, si vous compilez en mode production :

build_prod.sh
ng build --prod --aot

vous voyez une erreur comme celle-ci dans le client :

angular_production_error.txt
main.4d1baabffbba5677af03.js:1 ERROR TypeError: i.ɵnov(...)._getAriaLabel is not a function
    at Object.updateRenderer (main.4d1baabffbba5677af03.js:1)
    at Object.updateRenderer (main.4d1baabffbba5677af03.js:1)
[...]

Solution

Le problème semble être causé par des modules NodeJS incorrectement mis à jour. Vous pouvez le corriger en supprimant simplement votre dossier node_modules :

remove_node_modules.sh
rm -rf node_modules

De plus, il est recommandé de mettre à jour @angular/cli car le bug ne semble pas être présent dans les versions plus récentes d’@angular/cli :

update_angular_cli.sh
sudo npm i -g @angular/cli

Source & discussion sur GitHub


Consultez les articles similaires par catégorie : Angular, JavaScript