node.js - 要求中的双括号是什么意思

标签 node.js express

我知道这个 require 语句的作用。

var express = require('express');
var app = express();

但有时我会在 require 后面看到两个括号。

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

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

最佳答案

这是一种模式,其中 module.exports您需要的模块设置为功能。 Requiring该模块返回一个函数,并且 require 后面的括号使用参数评估该函数。

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

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

  });
  // ...
};

这种模式通常用于将变量传递给模块,如上面的 app 变量所示。

关于node.js - 要求中的双括号是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24044997/

相关文章:

javascript - 如何将 URL 作为参数与另一个 URL 一起传递?

node.js - 在 Jenkins docker 实例上找不到 Node

node.js - 使用 alexa-sdk Node 库时,如何让 Alexa Lambda FN 不抛出类型错误?

javascript - 绝对初学者的 Node.js/Express.j 或 Ruby on Rails

javascript - sequelize - 无法添加外键约束

performance - 如何加速 node.js 文件操作?

javascript - Firebase 身份验证和实时应用程序数据库如何保护自身安全?

node.js - 使用 Bookshelf 补丁为未引用的列设置默认值

node.js - 使用 multer 和 upload.array 上传图像时 req.file 未定义

node.js - 如何获取通过 Node.js 上传的多部分文件的直接 URL