3

我有一个小 Angular 应用程序,我在其中使用PrimeNG 组件。由于我进行了 Angular 10 更新,我收到以下警告:

CommonJS 或 AMD 依赖项可能会导致优化救助。

对于不同的 PirmeNg 组件。

我已经尝试过了:

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

这是官方主页上建议的

我做的另一个尝试是检查这篇文章中提到的导入

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

但是由于我一开始没有任何带有“@”的导入,所以我想知道如何修复或抑制这个警告?

编辑:

详细错误:

“路径”中的警告取决于“chartjs”。CommonJS 或 AMD 依赖项可能会导致优化救助。

4

2 回答 2

5

在 angular.json 添加

 "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "allowedCommonJsDependencies": ["chart.js"],
于 2020-12-23T09:37:43.910 回答
4

你只需要添加 -

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

只需添加

图表

在你上面的现有列表中,你很好。有关详细说明,请在此处查看此答案 - https://stackoverflow.com/a/63430362/6097025

请注意,这只是抑制警告的一种解决方法!如果你想完全解决这个问题,那么你需要为你的依赖项导入 ES-6 模块并避免 CommonJs 依赖项。从 Angular-10 开始,现在它会显示这些警告以进行构建优化。

于 2020-08-18T17:45:38.350 回答