是否可以在同一个文件中访问其他模块导出函数?

我在同一个文件中有两个函数,都是外部访问的。 其中一个function被第二个调用。

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

当这个被执行时,对functionOne的调用被标记为未定义。

什么是正确的方法来引用它?

我发现的一种模式是通过引用文件本身。

 var me = require('./thisfile.js'); me.functionOne(name); 

…但感觉好像有一个更好的方法。

只是简单的module.exports.functionOne()

如果这太麻烦,只要做到以下几点:

 function fnOne() { console.log("One!"); } module.exports.fnOne = fnOne; 
 var me = require(module.filename); me.functionOne(name); 

或者只是使用exports对象本身

 module.exports.functionOne(name); 

我想我一直在想require是include,import等等。如果还有其他的方法,看看它可能会很有趣。 我仍然在与节点耳后。

James Herdmans 了解Node.js“require”的post对于帮助代码组织非常有帮助。 它绝对值得一看!

 // ./models/customer.js Customer = function(name) { var self = this; self.name = name; }; // ./controllers/customercontroller.js require("../models/customer"); CustomerController = function() { var self = this; var _customers = [ new Customer("Sid"), new Customer("Nancy") ]; self.get() { return _customers; } };