我理解require()
用于将特定节点模块导入另一个节点模块并使用它。但是使用额外的()
帖子有什么用呢?假设我在server.js
文件中有以下要求声明:var init = require('./config/init');
。它只是意味着我们正在导入./config/init.js
文件中声明的模块。但var init = require('./config/init')();
是什么意思? require
语句结尾处()的用途是什么?
答案 0 :(得分:4)
如果此行导入function
:
var init = require('./config/init')
...然后额外的()
立即执行该功能。
将其视为这两行的快捷方式
var initLib = require('./config/init')
var init = initLib();
答案 1 :(得分:1)
require('library')
返回指定库的 exports 。在这种情况下,它看起来像库返回一个函数,你只需调用它并存储从函数返回的值。
在这种情况下,您导入的模块的代码如下:
module.exports = function() {
...
return theInitValue;
}