dyn*_*eed 5 uglifyjs ecmascript-6 lodash webpack babeljs
我一直在我的应用程序和库中使用lodash,我一直用webpack(和UglifyJS)打包我的应用程序和库.
这样做的问题是,当缩小时,如果您完全导入了lodash,则UglifyJS不知道从lodash中删除未使用的函数.聪明的人已经提出从lodash导入你将要使用的函数,如下所示:
var forEach = require('lodash/array/forEach');
Run Code Online (Sandbox Code Playgroud)
这很有效,并且导致我的代码的编译版本小得多.但是,在使用lodash的许多部分的文件中,它可能非常繁琐.
使用ES6式进口和Babel的DCE变压器可以达到同样的效果吗?例如:
import { forEach } from 'lodash';
Run Code Online (Sandbox Code Playgroud)
我很怀疑,因为它是从lodash库的根目录导入的,而不是像前一个例子那样从单个函数的文件导入.
Juh*_*nen 10
鉴于你可能已经使用了Babel,我认为babel-plugin-lodash可以做到这一点.它能够执行转换
import lodash from 'lodash';
lodash.map([1, 2, 3], function(x) {
// ...
});
Run Code Online (Sandbox Code Playgroud)
至
import _map from 'lodash/collection/map';
_map([1, 2, 3], function(x) {
// ...
});
Run Code Online (Sandbox Code Playgroud)
重要!正如@reflog在评论中所提到的,这种方法不适用于lodash链接!
| 归档时间: |
|
| 查看次数: |
3058 次 |
| 最近记录: |