是否可以在同一个文件中访问其他模块导出函数?
我在同一个文件中有两个函数,都是外部访问的。 其中一个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; } };