导出函数Nodejs

时间:2017-03-13 18:49:27

标签: node.js

我使用module.exports导出模块列表。以下是我的 模型/ Message.js

var msgModel = function()
{
    var getMsg = function() {
        return "Hello World";
    }
    return{
        getMsg : getMsg
    }
}
module.exports =  msgModel;

以下是我的app.js

var msgModel = require('./Models/Message');
console.log(msgModel.getMsg());

它让我犯了错误

console.log(msgModel.getMsg());
                 ^

我无法弄清楚问题。

4 个答案:

答案 0 :(得分:4)

您需要console.log(msgModel().getMsg());。这是因为msgModel是一个函数。我建议重写你的msgModel,如下例所示,以实现你想要的调用。

var msgModel = {
    getMsg: function() {
        return "Hello World";
    }
};

module.exports = msgModel;

答案 1 :(得分:1)

你可以这样做:

var msg = new msgModel();
console.log(msg.getMsg());

答案 2 :(得分:1)

您应该导出一个函数并在主app.js

中调用它

例如:

<强> app.js

var msgModel = require('./Models/Message');
msgModel();

<强> Message.js

var getMsg = function(){
    console.log("Hello World!");
};

module.exports = getMsg;

答案 3 :(得分:0)

您可以这样写,以便分组更多功能:

module.exports =  {
    getMsg: function() {
        return "Hello World";
    },
    anotherFnc: function () {
     ...
    }
};

然后你可以使用:

var msgModel = require('./Models/Message');
console.log(msgModel.getMsg());