我使用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
为什么声明的最后一个是括号?
答案 0 :(得分:0)
在第一行中,导出的函数被分配给聊天变量,因此您可以像chat();
在第二个中,导出函数的返回将返回到聊天变量。
答案 1 :(得分:0)
它实际上是基于模块中export
的内容。如果导出所需的对象,则可以直接执行require('module')
。如果导出一个返回所需对象的函数,则必须执行该导出函数require('module')()
以获取所需对象。