node.js中"require('express')()"的第二对括号是什么?
What is the second pair of parenthesis in "require('express')()" in node.js?
我在此处关注 socket.io 聊天应用程序教程 - https://socket.io/get-started/chat/
并且它使用的是快速框架。教程中有一段代码是:
var app = require('express')();
var http = require('http').Server(app);
如果我只使用没有第二个括号的'require('express')',它就不起作用。第二个括号的作用是什么?我在哪里可以找到语法文档?
从require('express')
返回的类型是一个函数。第二组括号是你实际调用函数来创建一个快速应用程序的实例。
相当于你在做
const express = require('express');
const app = express();
require('express')
调用 returns 一个函数,因此您需要调用该返回的函数来初始化一个快速应用程序。例如,express 的主条目文件可能看起来像
function one(){/*some code here*/}
function two(){/* some other code here*/ }
Module.exports = one;
所以基本上发生的事情是,当你需要表达时,上面的代码被包含并且一个函数被导出供你使用,因此你需要调用那个函数,这就是你有额外括号的原因
我在此处关注 socket.io 聊天应用程序教程 - https://socket.io/get-started/chat/
并且它使用的是快速框架。教程中有一段代码是:
var app = require('express')();
var http = require('http').Server(app);
如果我只使用没有第二个括号的'require('express')',它就不起作用。第二个括号的作用是什么?我在哪里可以找到语法文档?
从require('express')
返回的类型是一个函数。第二组括号是你实际调用函数来创建一个快速应用程序的实例。
相当于你在做
const express = require('express');
const app = express();
require('express')
调用 returns 一个函数,因此您需要调用该返回的函数来初始化一个快速应用程序。例如,express 的主条目文件可能看起来像
function one(){/*some code here*/}
function two(){/* some other code here*/ }
Module.exports = one;
所以基本上发生的事情是,当你需要表达时,上面的代码被包含并且一个函数被导出供你使用,因此你需要调用那个函数,这就是你有额外括号的原因