不必要地要求整个 module.exports 的缺点是什么?

What are the downsides of unnecessarily requiring the whole module.exports?

我只需要一个模块(6 个模块中的一个),但这样做会降低我需要的模块的可读性。例如,而不是这样做:

const { requestKrakenOrderbook } = require('./krakenUtils');
const orderbook = requestKrakenOrderbook();

我想这样做:

const krakenUtils = require('./krakenUtils')
const orderbook = krakenUtils.requestOrderbook()

像这样要求整个模块有什么缺点?

这个呢?

const getKrakenOrderbook = require('./krakenUtils').getOrderbook

没有缺点。 CommonJS 模块在 require 上进行评估,整个模块导出通常被缓存,因此在性能或内存占用方面没有显着差异。

根据模块导出的内容,将整个模块存储到变量并将其用作命名空间可能有用或无用:

const { get } = require('./foo');

// 200 lines below
let result = get(); // what in the world we've got?..

对比

const foo = require('./foo');

// 200 lines below
let result = foo.get(); // ah, we've got foo