是否可以访问同一文件中的其他模块导出功能?

Gre*_*reg 12 javascript node.js

我在同一个文件中有两个函数,都在外部访问.其中一个功能由第二个调用.

module.exports.functionOne = function(param) {
    console.log('hello'+param);
};

module.exports.functionTwo = function() {
    var name = 'Foo';
    functionOne(name);
};
Run Code Online (Sandbox Code Playgroud)

执行此操作时,对functionOne的调用将标记为未定义.

什么是正确的参考方式?

我发现的一种模式是引用文件本身.

var me = require('./thisfile.js');
me.functionOne(name);
Run Code Online (Sandbox Code Playgroud)

......但感觉必须有更好的方法.

小智 21

简单地说module.exports.functionOne().

如果这太麻烦,只需执行以下操作:

function fnOne() {
    console.log("One!");
}

module.exports.fnOne = fnOne;
Run Code Online (Sandbox Code Playgroud)

  • 请不要通过破坏您的帖子来为他人带来更多的工作。通过在 Stack Exchange (SE) 网络上发帖,您已根据 [CC BY-SA 许可证](//creativecommons.org/licenses/by-sa/4.0) 授予 SE 分发的不可撤销的权利内容(即无论您未来的选择如何)。根据 SE 政策,分发非破坏版本。因此,任何破坏行为都将被恢复。请参阅:【删除是如何进行的?…](//meta.stackexchange.com/q/5221)。如果允许删除,帖子下方左侧有一个“删除”按钮,但只能在浏览器中使用,而不能在移动应用程序中使用。 (2认同)