簡體   English   中英

Node.js-TypeError:“ Y”不是函數

[英]Nodejs - TypeError: 'Y' is not a function

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的函數。 預計將調用教程模塊。

如果我錯了,請糾正我。

用線

localTutor.NodeTutorial();

嘗試創建NodeTutorial對象,但首先您沒有創建它,因為您錯過了new關鍵字,其次您不保存該對象,因此將其丟棄。

然后下一行

localTutor.NodeTutorial.func_pTutor();

您嘗試將對象構造函數用作對象。

相反,例如

var tut = new localTutor.NodeTutorial();  // Create and save object
tut.func_pTutor();  // Call function on object

您還需要“導出”功能,方法是使其成為this一部分。

例如通過做例如

this.func_pTutor = function() { ... }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM