来自同一模块中相同库的多个require()

时间:2017-03-01 05:12:26

标签: node.js require node-modules commonjs slack-api

我正在查看@slack/client npm package for NodeJs的来源,并在顶部看到他们有这个:

var forEach = require('lodash').forEach;
var bind = require('lodash').bind;
var has = require('lodash').has;
var isArray = require('lodash').isArray;
var isEmpty = require('lodash').isEmpty;
var isObject = require('lodash').isObject;

如果你只需要包含整个lib一次然后使用你需要的方法,那么你可以从lodash模块中选择所有这些内容的重点是什么呢?

// Include the whole lib
var _ = require('lodash');

// And later
if (_.isObject(...)) // etc

这并不是说他们多次使用每种方法。事实上,大多数只使用一次或两次。另外,我的理解是,即使部分需要模块的一部分,整个事情也是eval()'d,因此没有优势记忆或性能。

我觉得这个包写得很好,所以我很想知道他们为什么选择这样做。

0 个答案:

没有答案