Nodejs - TypeError: 'Y' is not a function

Nodejs - TypeError: 'Y' is not a function

Tutorial.js

var exports = module.exports={};
exports.tutorial = function(){
    console.log("11");
}

节点Tutorial.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 的函数。预计调用教程模块。

如有错误请指正

同线

localTutor.NodeTutorial();

尝试 创建一个 NodeTutorial 对象,但首先你没有这样做,因为你错过了 new 关键字,其次你不保存对象,因此它被丢弃。

然后下一行

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() { ... }