Behebung von Angular6 "_getAriaLabel is not a function" mit Production-Build

English Deutsch

Problem:

Du baust eine Angular6-Anwendung und im Entwicklungsmodus funktioniert alles einwandfrei. Wenn du jedoch im Produktionsmodus baust:

build_prod.sh
ng build --prod --aot

siehst du im Client einen Fehler wie diesen:

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)
[...]

Lösung

Das Problem scheint durch inkorrekt aktualisierte NodeJS-Module verursacht zu werden. Du kannst es beheben, indem du einfach deinen node_modules-Ordner löschst:

remove_node_modules.sh
rm -rf node_modules

Außerdem wird empfohlen, @angular/cli zu aktualisieren, da der Bug in neueren Versionen von @angular/cli nicht mehr vorhanden zu sein scheint:

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

Quelle & Diskussion auf GitHub


Check out similar posts by category: Angular, Javascript