在NodeJS express模块的文档中,示例代码有app.use(…)。

use函数是什么?它的定义在哪里?


当前回答

如果我们 从“express”导入快递 使用app = express(); 然后应用程序具有所有功能的表达

如果我们使用app。use()

在整个项目中使用任何模块/中间件功能

其他回答

App.use()是这样工作的:

请求事件在节点http服务器实例上触发。 表达 用req对象做一些内部操作。 这就是当 Express开始执行你在app.use中指定的事情

这很简单。

只有这样,express才会做剩下的事情,比如路由。

App.use()在快速应用程序中充当中间件。与app.get()和app.post()等不同,你实际上可以使用app.use()而不指定请求URL。在这种情况下,不管URL是什么,它都会被执行。

app.use()用于挂载中间件函数或挂载到指定路径,当基本路径匹配时执行中间件函数。

例如: 如果你在indexRouter.js中使用app.use(),就像这样:

//indexRouter.js

var adsRouter = require('./adsRouter.js');

module.exports = function(app) {
    app.use('/ads', adsRouter);
}

在上面的代码中,app.use()将'/ads'上的路径挂载到adsRouter.js。

现在在adsrouter。js中

// adsRouter.js

var router = require('express').Router();
var controllerIndex = require('../controller/index');
router.post('/show', controllerIndex.ads.showAd);
module.exports = router;

在adsRouter.js中,ads的路径是这样的- '/ads/show',然后它将根据controllerIndex.ads.showAd()工作。

app.use((路径),回调,回调)): 我们可以在相同的情况下添加回调。

app.use('/test', function(req, res, next) {

  // write your callback code here.

    });

中间件是用于“粘合在一起”的软件的通用术语 App.use是一个配置中间件的方法,例如:解析和处理请求体: app.use (bodyParser。Urlencoded ({extended: true})); app.use (bodyParser.json ()); 在快速应用程序中可以使用许多中间件 读一读医生的话: http://expressjs.com/en/guide/using-middleware.html

use将指定的中间件应用到主应用中间件堆栈中。当将中间件附加到主应用堆栈时,附加的顺序很重要;如果你在中间件B之前附加了中间件A,那么中间件A总是会先执行。您可以指定适用于特定中间件的路径。在下面的例子中,“hello world”将总是在“happy holidays”之前被记录。

const express = require('express')
const app = express()

app.use(function(req, res, next) {
  console.log('hello world')
  next()
})

app.use(function(req, res, next) {
  console.log('happy holidays')
  next()
})