我有 2 个文件:
start.js
var ConversationModule = require('./src/classes/conversation/Conversation.js');
ConversationModule.sayhello();
conversation.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();
关于javascript - node.js 包含类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19470107/