angular ng build --prod не игнорирует неиспользуемые / не импортированные компоненты

У меня есть несколько компонентов, которые являются частью шаблона, который я не использую, но не могу физически удалить.

Я закомментировал каждый оператор импорта и ссылку на класс компонента, но я по-прежнему получаю сообщение об ошибке при запуске

ng build --prod

Не удается определить модуль для класса OrganizationComponent

Есть ли способ явно сказать angular игнорировать их? Насколько я знаю, aot должен игнорировать его по умолчанию...

2 ответа

Опубликованная ошибка подразумевает, что что-то пытается создать экземпляр этого компонента, но на него нет ссылок ни в одном из загруженных модулей.

Это говорит о том, что вы правильно удалили его из импорта и модулей, но я думаю, что, возможно, вы все еще ссылаетесь на тег компонента в шаблоне другого компонента, который включен?

Встряхивание дерева - это шаг в процессе сборки, который удаляет неиспользуемый код из базы кода.

Встряхивание дерева - это термин, обычно используемый в контексте JavaScript для устранения мертвого кода. Он основан на статической структуре синтаксиса модуля ES2015, то есть импорта и экспорта.

Для получения дополнительной информации: https://coryrylan.com/blog/tree-shakeable-providers-and-services-in-angular

Другие вопросы по тегам