Jak opravit Angular6 "_getAriaLabel is not a function" s production build

Problém:

Buildíte Angular6 aplikaci a v development mode vše funguje fine. Nicméně, pokud buildíte v production mode:

build_prod.sh
ng build --prod --aot

vidíte chybu jako tato v 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)
[...]

Řešení

Issue se zdá být caused incorrectly updatovanými NodeJS moduly. Můžete ho opravit jednoduše smazáním vašeho node_modules folder:

remove_node_modules.sh
rm -rf node_modules

Navíc je doporučeno updatovat @angular/cli, jelikož bug se nezdá být přítomen v novějších verzích @angular/cli:

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

Zdroj & diskuse na GitHub


Podívejte se na podobné články podle kategorie: Angular, JavaScript