在您的例子myFunc
是功能app
,不是成員的一個局部變量,從而app.myFunc
(您不能以這種方式訪問一個函數的局部成員是不可用的。或者就此而言)。如果module.exports.app絕對必須是一個函數,而不是,比方說,一個對象,你可以這樣做:
module.exports = {
app: function() {
}
};
module.exports.app.myFunc = function(arg) {
return 'working '+arg;
};
然而,這將是更加健壯的app
簡單地是一個文本對象:
module.exports = {
app: {
myFunc: function(arg) {
return 'working '+arg;
}
}
};
另外,如果你需要myFunc
取決於變量內部app
(雖然這不應該是必要的,因爲模塊已經暗示封裝):
module.exports = {
app: (function() {
var _internal = 'working ';
return {
myFunc: function(arg) {
return _internal+arg;
}
};
})()
};
如果需要myFunc
依靠傳遞給app
參數:
module.exports = {
app: (function(passed) {
return {
myFunc: function(arg) {
return passed+arg;
}
};
})()
};
然後你把它作爲
var test = require('./js/test.js');
console.log(test.app('working ').myFunc('now'));
這是所有我能想到的選項。如果這仍然不能回答你的問題,那麼如果你解釋你想要改善一點,這將會有所幫助。
好的。什麼是'應用程序'?我的意思是它有什麼? – thefourtheye 2015-04-05 12:15:49
@thefourtheye我想以某種方式調用myFunc()。 'app'只是一個隨機的名字。 – 2015-04-05 12:16:50
應用程序是一個功能,你需要調用它。 – 2015-04-05 12:17:41