在NodeJS express模块的文档中,示例代码有app.use(…)。
use函数是什么?它的定义在哪里?
在NodeJS express模块的文档中,示例代码有app.use(…)。
use函数是什么?它的定义在哪里?
当前回答
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.get()和app.post()等不同,你实际上可以使用app.use()而不指定请求URL。在这种情况下,不管URL是什么,它都会被执行。
use是一种用于配置由Express HTTP服务器对象的路由所使用的中间件的方法。该方法被定义为Express所基于的Connect的一部分。
更新从版本4开始。x, Express不再依赖于Connect。
以前包含在Express中的中间件功能现在位于单独的模块中;请参阅中间件函数列表。
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.METHOD()函数将应用程序级中间件绑定到应用程序对象的实例,其中METHOD是中间件函数处理的请求的HTTP方法(比如小写的GET、PUT或POST)。
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()
})