簡體   English   中英

ES6中的Lodash死代碼刪除

[英]Lodash Dead Code Removal in ES6

我一直在我的應用程序和庫中使用lodash ,我一直用webpack (和UglifyJS )打包我的應用程序和庫。

這樣做的問題是,當縮小時,如果您完全導入了lodash,則UglifyJS不知道從lodash中刪除未使用的函數。 聰明的人已經提出從lodash導入你將要使用的函數,如下所示:

var forEach = require('lodash/array/forEach');

這很有效,並且導致我的代碼的編譯版本小得多。 但是,在使用lodash的許多部分的文件中,它可能非常繁瑣。

使用ES6式進口和BabelDCE變壓器可以達到同樣的效果嗎? 例如:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM