通过模块减少Lodash的进口/捆装尺寸

时间:2018-09-24 17:09:38

标签: angular angular-cli lodash tree-shaking

因此,我正在尝试减小束的大小,从一个常见的罪魁祸首-Lodash开始,我沿用了这种article,因为显然这并不理想;

enter image description here

因此,我开始尝试完成导入模块的基本任务,即导入从import * as _ from 'lodash'import each from 'lodash/each'的实际用法

除了这样做,我得到了一个示例.../node_modules/@types/lodash/each"' has no default export.,这很令人困惑,因为我在那里看到了导出,所以我在那里使用了@types表示一切都应该没问题,但显然我缺少了一些inane详情。因为我的模块是lodash-es,所以我必须使用es2015吗?我是否知道这就是将esModuleInterop中的tsconfig设置为true的原因,所以我会吐口水吗?猜猜我只是在寻找我显然缺少的任何小细节。

Angular 6 / CLI

目标:es5

模块:es2015

1 个答案:

答案 0 :(得分:1)

这是可摇树的导入:

import each from 'lodash-es/each';

正如npm package所述,它实际上只是原始软件包的ES6模块导出:

The Lodash library exported as ES modules.

Generated using lodash-cli:

$ lodash modularize exports=es -o ./
See the package source for more details.

进一步的解释可以在这里找到:Correct way to import lodash