Module 需要带网页包的lodash模块

Module 需要带网页包的lodash模块,module,webpack,lodash,commonjs,Module,Webpack,Lodash,Commonjs,我以前使用lodash.js时没有任何包装,如下所示: if (_.isFunction(myFunc)) { ... } _.isFunction = require("lodash/isFunction") 最近,我开始使用webpack。现在看来,许多功能,比如isFunction,都不是核心模块的一部分。因此,以下工作: var _ = require("lodash/core"); var _isFunction = require("lodash/isFunction");

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

if (_.isFunction(myFunc)) { ... } 
_.isFunction = require("lodash/isFunction")
最近,我开始使用webpack。现在看来,许多功能,比如isFunction,都不是核心模块的一部分。因此,以下工作:

var _ = require("lodash/core");
var _isFunction = require("lodash/isFunction");
但是,当我使用lodash而不使用webpack(无点)时,上面的语法发生了变化。我是否需要以下内容:

if (_.isFunction(myFunc)) { ... } 
_.isFunction = require("lodash/isFunction")

因此,为了保持相同的语法?

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

var _ = require('lodash');
(或您选择的任何变量)将由一组函数填充:

_ = {
    isX: function... 
    isY: function... 
    // ... etc
}
Ie:它带来了一切

执行以下操作时,它将仅将所需模块直接导入变量:

var anynameX = require('lodash/isX'); 
var anynameY = require('lodash/isY');
anynameX
anynameY
可以是任何东西

换言之:

_.isX === anynameX;    
_.isY === anynameY;
因此,要回答您的最后一个问题,您可以:

_.anynameX = require('lodash/isX');
但仅当
\uu
已存在(且未冻结)时,例如:

var _ = {};
_.anynameX = require('lodash/isX');
```var=require('lodash')if(u.isFunction(myFunc))``应该可以正常工作