Javascript 我看到了节点模式,但不明白为什么?

Javascript 我看到了节点模式,但不明白为什么?,javascript,node.js,node-modules,Javascript,Node.js,Node Modules,在进行so项目时,我看到人们在模块导出中以以下格式执行此模式: var utils = require('../lib/bhalnhahaha'); module.exports = utils; 我只是不知道他们为什么不: var whatever = require('../lib/bhalnhahaha'); 是否需要在文件中使用UTIL而不是使用导出 我只能想到两个理由: var utils = require('../lib/bhalnhahaha'); // ... oth

在进行so项目时,我看到人们在模块导出中以以下格式执行此模式:

var utils = require('../lib/bhalnhahaha'); 
module.exports = utils;
我只是不知道他们为什么不:

var whatever = require('../lib/bhalnhahaha');

是否需要在文件中使用UTIL而不是使用导出

我只能想到两个理由:

var utils = require('../lib/bhalnhahaha'); 

// ... other code here

module.exports = utils;
  • 您正在扩充或扩展
    utils
    对象,并向其添加您自己的附加方法,并且希望导出扩充的
    utils
    对象

  • “other code here”(此处的其他代码)中存在一些副作用,这对该模块正在执行的任何操作都很有用,并且您希望这两个副作用(甚至可能在
    utils
    对象中初始化某些内容,或者在本地环境中执行其他操作)

  • 否则,最好让调用方直接导入
    utils
    ,而不要在模块上创建不必要的依赖关系


    只有通过向我们展示一个实际的代码示例,才能提供更具体的答案,然后我们才能看到它实际在做什么,这是有用的。

    我想象人们这样做是为了在开发应用程序时向模块添加方法,并需要扩展库的功能。假设我想在
    utils
    中添加一个函数,这样我就可以在我已经需要utils的其他地方使用它,比如:
    utils.myNewFunction=function(){return utils.doSomething()+utils.doSomethingElse()}
    ,那么我就不需要额外的函数了,它只是在导出之前连接到UTIL,并且可以在已经使用UTIL的任何地方使用它。是的,确实如此,我相信他们正在扩展UTIL。感谢这个答案,它有助于澄清如何增强UTIL obj。下面是指向src代码和所有util函数的链接。这是谷歌地图的热图。为社区构建新冠病毒-19热图。谢谢Code LINK=@JoshuaAguilar-您可以通过单击此答案左侧的复选标记向社区表明您的问题已得到回答。这也将为您在这里遵循正确的程序赢得一些声誉积分。