我正在try 将我的ANGLING 9应用程序升级到ANGLE 10版本,但升级后收到警告

WARNING in calendar.reducer.ts depends on lodash/keys. CommonJS or AMD dependencies can cause optimization bailouts.

我已将以下行添加到我的angular.json文件中,但问题没有解决

"allowedCommonJsDependencies": ["lodash"]

如何解决上述问题.

推荐答案

npm包lodash本身不是ECMAScript模块,因此会产生警告.

替换为ES模块化库(推荐)

有些库提供ES模块化构建.如果是lodash,你可以用lodash-es代替.

npm install --save lodash-es.

现在,用lodash-es取代所有从lodash进口的商品.

另外,请确保使用ES import语句导入库:

import { keys } from 'lodash-es';

白名单CommonJS依赖项

如果您的库没有ES模块化的构建,或者您出于某种原因不在乎,那么您可以在angular.json文件中允许特定的CommonJS依赖项:

"architect": {
  "build": {
    "builder": "@angular-devkit/build-angular:browser",
    "options": {
      "allowedCommonJsDependencies": ["lodash"]
    }
  }
}

从ANGLING CLI版本10.0.1开始,您可以在allowedCommonJsDependencies中使用glos. 这意味着如果您通过lodash,子路径(例如lodash/keys)也将被允许.

文档参考:https://angular.io/guide/build#configuring-commonjs-dependencies

Angular相关问答推荐

空的@Injectable()decorator 在Angular中实际上意味着什么?

当我的Auth-guard被调用时,当在带有canActivate - Angular v17的路由上重新加载页面时,它会短暂地呈现登录页面

如何将CDkDropList与Angular FormArray和FormGroup一起使用?

Angular 17@在大小写时切换多个值

Angular 环境本地无文件替换

以Angular 动态添加和删除组件形状元素

在Drective Composure API中使用指令输出

使用jsPDF生成带有图像的PDF时出现灰色条纹

Angular 应用程序未在Azure应用程序服务中运行

当包含react 性模板绑定时,NG-Bootstrap手风琴不会打开

对象中的值丢失 angular ngrx

将 autoSpy 与 ng-mocks 一起使用时,如何重置 jasmine 间谍调用?

找不到模块'webpack'

Angular 5 手动导入语言环境

angular 2模板使用console.log

ERROR 错误:StaticInjectorError(AppModule)[UserformService -> HttpClient]:

Angular 2从assets文件夹加载CSS背景图像

在 RxJS Observable 中 flatten数组的最佳方法

angular2 测试,我如何模拟子组件

缺少带有Angular的语言环境XXX的语言环境数据