Node.js 双括号在句子中是什么意思

Node.js 双括号在句子中是什么意思,node.js,express,Node.js,Express,我知道这个require语句的作用 var express = require('express'); var app = express(); 但有时我会在require后面看到两个括号 var routes = require('./routes')(app); Q)这意味着什么,它是如何工作的?这意味着在这之后,有一个函数可以使用模块导出。导出: module.exports = function(app) { app.get("/", function(req, res){})

我知道这个require语句的作用

var express = require('express');
var app = express();
但有时我会在require后面看到两个括号

var routes = require('./routes')(app);

Q)这意味着什么,它是如何工作的?

这意味着在这之后,有一个函数可以使用
模块导出。导出

module.exports = function(app) {
   app.get("/", function(req, res){});
}
另见

旁注:

您可以动态创建函数:

A.js

main.js

...
app.use(require("A")(data));
...

这是一种模式,在该模式中,您需要的模块的设置为函数。该模块返回一个函数,require后面的括号使用一个参数对函数求值

在上面的示例中,您的
/routes/index.js
文件如下所示:

module.exports = function(app) {
  app.get('/', function(req, res) {

  });
  // ...
};
此模式通常用于将变量传递给模块,如上文所述,
app
变量。

是Node.js提供的一个函数,它基本上为您加载一个模块,并返回您在加载的模块中公开的任何内容

如果(通过使用module.exports)在给定模块中公开的是函数,那么这就是需要返回的内容。比如说

//moduleX.js
module.exports = function(){
  return "Helo World";
}
如果你需要它,你会得到一个函数

var f = require('./moduleX');
console.log(f()); //hello world
当然,您可以在需要时直接调用该函数

var greet = require('./moduleX')();
console.log(greet);

我可以帮忙啊。。。。这意味着:
var express=require('express');var-app=express()可以这样写:
var-app=require('express')()…即使这并不意味着它应该是=)
var greet = require('./moduleX')();
console.log(greet);