需要使用webpack的lodash模块

时间:2017-03-01 08:43:11

标签: module webpack lodash commonjs

我以前使用的lodash.js没有任何包装,如下所示:

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

最近,我开始使用webpack。现在,似乎很多函数如isFunction都不是核心模块的一部分。因此,以下工作:

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

但是,当我使用没有webpack的lodash(没有点)时,上面的内容会改变语法。我应该如下所示:

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

那么,那要保持相同的语法吗?

1 个答案:

答案 0 :(得分:2)

当您执行以下操作时,可以在一个大的lodash对象下导入所有内容:

var _ = require('lodash');

_(或您选择的任何var)将填充一系列函数:

_ = {
    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');