如何避免在NodeJS中使用全局函数?

时间:2018-05-14 19:17:44

标签: node.js

我的主JS文件中有一个全局函数,我需要从模块中多次调用它。我听说它很糟糕,因为它可以在本地(来自模块)和全局函数名(来自主js)之间创建函数名冲突。可以从require模块调用100次全局函数。是否有其他方法可以在不使用全局函数的情况下实现以下目的?

具有全局功能的main.js

const myMod = require('./module.js");
global.myGlobalFunction = function(param){
console.log("do something with",param);
}
带有全局函数调用的

module.js:

module.exports = function(){
myGlobalFunction("class");
myGlobalFunction("this");
myGlobalFunction("bubu");
// other jobs to do
}

1 个答案:

答案 0 :(得分:0)

更简洁的方法是使用这样的模块:

module.js

class myGlobalUtil {
  myGlobalFunction(param){
    console.log("do something with",param)
  }
  get GetFromParam(myParam){
    return this.myGlobalFunction(myParam);
  }
}
module.exports = myGlobalUtil;