2017-03-01 45 views
1

要求lodash模塊我曾經使用lodash.js沒有任何包裝象下面這樣:用的WebPack

if (_.isFunction(myFunc)) { ... } 

最近,我開始使用的WebPack。現在,似乎許多功能,如功能不是核心模塊的一部分。所以,下面的工作:

var _ = require("lodash/core"); 
var _isFunction = require("lodash/isFunction"); 

但是,上述更改語法時,我沒有使用lodash webpack(無點)。我是否需要像下面這樣:

_.isFunction = require("lodash/isFunction") 

那麼,那保持相同的語法?

+0

''' VAR _ =要求( 'lodash') 如果(_。isFunction(myFunc的)) ''' 應該可以正常工作 –

回答

2

當你做的東西像下面這樣,你下一個大lodash對象導入一切:

var _ = require('lodash'); 

_(或任何變種你選擇)將充滿了一堆功能:

_ = { 
    isX: function... 
    isY: function... 
    // ... etc 
} 

即:它帶來一切英寸

當您執行以下操作時,它將只導入所需的模塊樂直接進入變量:

var anynameX = require('lodash/isX'); 
var anynameY = require('lodash/isY'); 

anynameXanynameY可以是任何東西。

換句話說:

_.isX === anynameX;  
_.isY === anynameY; 

因此,要回答你的最後一個問題,你可以這樣做:

_.anynameX = require('lodash/isX'); 

,但只有當_已經存在(並沒有被凍結),例如:

var _ = {}; 
_.anynameX = require('lodash/isX');