Tutorial.js
var exports = module.exports={};
exports.tutorial = function(){
console.log("11");
}
NodeTutorial.js
var Tutor = require('./Tutorial.js');
module.exports.NodeTutorial = function(){
console.log("22")
function func_pTutor(){
var PTutor = Tutor;
PTutor.tutorial();
}
}
app.js
var localTutor = require('./NodeTutorial.js');
localTutor.NodeTutorial();
localTutor.NodeTutorial.func_pTutor();
当我运行node app.js
时,
我希望我的输出为
22
11
但它会引发一些错误。
它说
TypeError:localTutor.NodeTutorial.func_pTutor不是函数
由于我们扩展了Tutorial.js
模块并公开了一个名为func_pTutor
的函数。预计会调用教程模块。
如果我错了,请纠正我。
答案 0 :(得分:3)
使用
行localTutor.NodeTutorial();
你尝试创建一个NodeTutorial
对象,但首先你不会错过new
关键字,其次你不会&#39 ; t保存对象,使其被丢弃。
然后是下一行
localTutor.NodeTutorial.func_pTutor();
您尝试将对象构造函数用作对象。
相反,例如。
var tut = new localTutor.NodeTutorial(); // Create and save object
tut.func_pTutor(); // Call function on object
你还需要" export"该功能,通过使其成为this
的一部分来完成。
例如通过做例如。
this.func_pTutor = function() { ... }