我有2个文件:
start.js
var ConversationModule = require('./src/classes/conversation/Conversation.js');
ConversationModule.sayhello();
talk.js
var ConversationModule = new Object();
ConversationModule.sayhello = function () {
console.log("hello");
};
exports.ConversationModule = ConversationModule();
在start.js中,我无法调用sayhello()方法。我收到以下错误
TypeError: object is not a function
我只是不明白为什么它不起作用-我是node的新手:)
最佳答案
您正在尝试将ConversationModule
导出为函数,但事实并非如此。改用这个:
exports.ConversationModule = ConversationModule;
由于还同时将变量分配为
exports
的属性,因此必须像这样调用它:var ConversationModule = require('./file').ConversationModule;
ConversationModule.sayhello();
如果您不想这样做,请将对象分配给
module.exports
:module.exports = ConversationModule;
并这样称呼它:
var ConversationModule = require('./file');
ConversationModule.sayhello();