Реплицировать ошибку сборки prod angular на локальном компьютере

Я получаю такие ошибки, как

ошибка NG8002: невозможно выполнить привязку к «svgIcon», поскольку это неизвестное свойство «mat-icon».

Я не получаю этого на своей машине разработки. Я попытался воспроизвести его, запустив «npm run build –prod», но он собирается нормально, без каких-либо ошибок.

Что мне нужно сделать, чтобы реплицировать конфигурацию или режим сборки на моем локальном компьютере? Я использую угловой 13.

выдает ли локальное предупреждение в консоли терминала или браузера?

James Ashok 23.04.2024 15:35

также может быть случай компиляции JIT и AOT?

James Ashok 23.04.2024 15:35

Возможно, проблема связана с несоответствием версий пакетов npm. Убедитесь, что на вашем компьютере разработки установлены одинаковые версии nodejs и npm, сохраните файлы package.json и package-lock.json, которые у вас есть локально, для последующей оценки, удалите файл package-lock.json и node_modules, запустите команду npm install и попробуйте собрать производственная версия вашего приложения. Скорее всего, в вашем файле package.json есть версии, указанные как «^x.x.x», поэтому ваш prod-сервер, вероятно, устанавливает новейшую версию этих библиотек, и их API изменен по сравнению с вашими локально установленными библиотеками.

Sergey Sosunov 23.04.2024 16:10

@JamesAshok нет, это не так. Я не вижу этих ошибок ни на своей консоли, ни в браузере.

wil 23.04.2024 17:16

@SergeySosunov спасибо за предложение. Я попробую и дам тебе знать

wil 23.04.2024 17:16

@JamesAshok Что именно вы подразумеваете под JIT и AOT. есть ли команда, которую я могу запустить, чтобы попробовать другой подход?

wil 23.04.2024 17:17

@SergeySosunov нет, не сработало

wil 23.04.2024 19:57

Производственная сборка @wil использует компиляцию AOT, а сборка dev использует JIT-компиляцию. Попробуйте включить/отключить AOT с помощью angular.json и посмотрите, воспроизводится ли проблема. Если это можно воспроизвести, вы можете обратиться к angular.io/guide/aot-compiler за возможными исправлениями.

James Ashok 24.04.2024 06:33
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
8
56
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

для всех, кто может столкнуться с этой проблемой.

Вы можете попробовать ng build --aot или измените tsconfig.json "angularCompilerOptions": { "strictInjectionParameters": правда, «strictInputAccessModifiers»: правда, «строгие шаблоны»: правда }

реплицировать сборку для прода

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