什么是在module.exports中调用函数的上下文安全方法?

时间:2016-05-24 12:10:05

标签: javascript node.js this

我的JS文件中有这个:

module.exports.function1() {};

module.exports.function2() { this.function1(); };

module.exports.function3() { module.exports.function1(); };

module.exports - function2()function3()方式调用其他功能的首选方法是什么?或者,还有更好的方法?

我不喜欢function2()方式,因为它不是上下文安全的,function3()方式对我来说有点奇怪。

1 个答案:

答案 0 :(得分:3)

就个人而言,我更倾向于将出口声明为最高,然后将声明置于

之下
module.exports = { 
    function1: function1, 
    function2: function2,
    function3: function3
}
function function1() { }
function function2() { function1(); }
function function3() { function1(); }

编辑我是这样做的,这样函数声明就可以相互引用而无需经过module.exports或其他任何事情。因为它在一个模块中,所以它是自包含的。此外,当您打开文件时,您可以清楚地看到导出,而无需首先涉及所有实现。