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