javascript - node.js 包含类文件

标签 javascript node.js include

我有 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/

相关文章:

c - 类似函数的行为,无需使用任何调用堆栈

带有 Bluebeam 的 JavaScript 库

javascript - JavaScript 是否有类似于 php list 命令的语言结构?

node.js - 如何获得对 http 请求文件上传中止的响应?

node.js - 有没有办法在 Heroku 上运行非 Web Node.js 应用程序?

HTML 包含语句

javascript - YQL在查询Google Drive时不调用回调函数

javascript - 如何在html选项框中显示查询结果?

node.js - Node.js 中的 AWS4 签名

c - 为什么标准库在 .c 文件而不是头文件中有它们的#include <...>