[英]Lodash Dead Code Removal in ES6
我一直在我的應用程序和庫中使用lodash ,我一直用webpack (和UglifyJS )打包我的應用程序和庫。
這樣做的問題是,當縮小時,如果您完全導入了lodash,則UglifyJS不知道從lodash中刪除未使用的函數。 聰明的人已經提出從lodash導入你將要使用的函數,如下所示:
var forEach = require('lodash/array/forEach');
這很有效,並且導致我的代碼的編譯版本小得多。 但是,在使用lodash的許多部分的文件中,它可能非常繁瑣。
使用ES6式進口和Babel的DCE變壓器可以達到同樣的效果嗎? 例如:
import { forEach } from 'lodash';
我很懷疑,因為它是從lodash庫的根目錄導入的,而不是像前一個例子那樣從單個函數的文件導入。
鑒於你可能已經使用了Babel,我認為babel-plugin-lodash可以做到這一點。 它能夠執行轉換
import lodash from 'lodash';
lodash.map([1, 2, 3], function(x) {
// ...
});
至
import _map from 'lodash/collection/map';
_map([1, 2, 3], function(x) {
// ...
});
重要! 正如@reflog在評論中所提到的,這種方法不適用於lodash鏈接!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.