Angular6: виправлення помилки _getAriaLabel is not a function у production-збірці

Проблема:

Ви будуєте застосунок Angular6, і в режимі розробки все працює. Однак при production-збірці:

build_prod.sh
ng build --prod --aot

на клієнті з’являється помилка на кшталт:

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

Розв’язання

Проблема, схоже, виникає через некоректно оновлені модулі NodeJS. Виправити можна просто видаливши каталог node_modules:

remove_node_modules.sh
rm -rf node_modules

Крім того, рекомендується оновити @angular/cli, оскільки в новіших версіях @angular/cli цей баг, здається, відсутній:

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

Джерело та обговорення на GitHub


Дивіться схожі статті за категоріями: Angular, Javascript