Angular - зависимости Primeng CommonJS или AMD могут вызвать сбои при оптимизации

У меня есть небольшое приложение Angular, в котором я использую компоненты PrimeNG . Поскольку я сделал обновление Angular 10, я получаю следующее предупреждение:

Зависимости CommonJS или AMD могут вызвать сбои при оптимизации.

для разных PirmeNg-компонентов.

Я уже пробовал это:

"allowedCommonJsDependencies": [
              "loadsh",
              "primeng/primeng",
              "primeicons",

Это предлагается на официальной домашней странице.

Еще одна попытка, которую я сделал, - это проверка импорта, как указано в this сообщение

import { x } from '@auth/auth....'           // Warning
...to...
import { x } from '../auth/...'              // Warning goes away

Но поскольку у меня нет импорта с @ в начале, мне интересно, как это предупреждение можно исправить или подавить?

РЕДАКТИРОВАТЬ:

Подробнее об ошибке:

ПРЕДУПРЕЖДЕНИЕ в 'path' зависит от 'chartjs'. Зависимости CommonJS или AMD могут вызвать сбои при оптимизации.


person Felix Gerber    schedule 10.08.2020    source источник
comment
@ Джейсон Аллер. Можете ли вы поделиться точным предупреждением о том, что вы видите в своей сборке?   -  person Gunjan Khanwilkar    schedule 15.08.2020
comment
@GunjanKhanwilkar Я не задавал этот вопрос, я только отредактировал его. Вы хотите направить свой комментарий Феликсу.   -  person Jason Aller    schedule 16.08.2020
comment
@Felix Можете ли вы поделиться точным предупреждением о том, что вы видите в своей сборке?   -  person Gunjan Khanwilkar    schedule 16.08.2020
comment
@GunjanKhanwilkar Я добавил предупреждение как правку. 'path' - это отличный файл используемой библиотеки   -  person Felix Gerber    schedule 17.08.2020
comment
@FelixGerber Тогда вам просто нужно добавить - allowedCommonJsDependencies: [loadsh, primeng / primeng, primeicons, chartjs] Добавьте chartjs в свой существующий список, как указано выше, и все в порядке. Для подробного объяснения, пожалуйста, проверьте этот ответ здесь - stackoverflow.com/a/62604034/6097025   -  person Gunjan Khanwilkar    schedule 18.08.2020


Ответы (2)


В angular.json добавьте

 "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "allowedCommonJsDependencies": ["chart.js"],
person akhilreddy    schedule 23.12.2020

вам просто нужно добавить -

    "allowedCommonJsDependencies": [ 
    "loadsh", 
    "primeng/primeng", 
    "primeicons", 
    "chartjs", 
    ---etc--- all the CommonJs dependency goes here to suppress warning!    
] 

Просто добавь

chartjs

в вашем существующем списке, как указано выше, и вы в порядке. Для подробного объяснения, пожалуйста, проверьте этот ответ здесь - https://stackoverflow.com/a/63430362/6097025

Обратите внимание, что это всего лишь обходной путь для подавления предупреждений! Если вы хотите полностью исправить это, вам необходимо импортировать модули ES-6 для своих зависимостей и избегать зависимостей CommonJs. Начиная с Angular-10, теперь он показывает эти предупреждения для оптимизации сборки.

person Gunjan Khanwilkar    schedule 18.08.2020