在Node JS

时间:2017-02-01 05:45:02

标签: javascript node.js

我使用Node JS进行Web应用程序开发。我在require()模块中感到困惑。我需要一个位于file_handler目录中的JS文件。 以下两者有什么区别?

//在server.js中

var chat = require("./file_handler/chat.js");    // Does not work

OR

var chat = require("./file_handler/chat.js")(); // It works

为什么声明的最后一个是括号?

2 个答案:

答案 0 :(得分:0)

在第一行中,导出的函数被分配给聊天变量,因此您可以像chat();

那样调用它

在第二个中,导出函数的返回将返回到聊天变量。

答案 1 :(得分:0)

它实际上是基于模块中export的内容。如果导出所需的对象,则可以直接执行require('module')。如果导出一个返回所需对象的函数,则必须执行该导出函数require('module')()以获取所需对象。

阅读文档https://nodejs.org/api/modules.html