Express.js – app.use() 方法
该方法将指定的中间件函数挂载或放置在指定的路径中。仅当请求路径的基址与定义的路径匹配时,才会执行此中间件功能。app.use()
语法
app.use([path], callback, [callback])
参数
path-这是调用中间件函数的路径。路径可以是字符串、路径模式、正则表达式或所有这些的数组。
callback-这些是中间件函数或一系列中间件函数,它们的作用类似于中间件,但这些回调可以调用next(路由)。
示例1
创建一个名为“appUse.js”的文件并复制以下代码片段。创建文件后,使用命令“nodeappUse.js”运行此代码。
//app.use()方法演示示例
//导入express模块
const express = require('express');
//初始化express和端口号
var app = express();
//从express初始化路由器
var router = express.Router();
var PORT = 3000;
//此方法将调用next()中间件
app.use('/api', function (req, res, next) {
console.log('Time for main function: %d', Date.now())
next();
})
//会在中间件之后调用
app.get('/api', function (req, res) {
console.log('Time for middleware function: %d', Date.now())
res.send('Welcome to nhooo.com')
})
//应用程序侦听以下端口
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});现在,使用GET请求点击以下端点
http://localhost:3000/api输出结果
C:\home\node>> node appUse.js Server listening on PORT 3000 Time for main function: 1627490133904 Time for middleware function: 1627490133905
示例2
让我们再看一个例子。
//app.use()方法演示示例
//导入express模块
const express = require('express');
//初始化express和端口号
var app = express();
//从express初始化路由器
var router = express.Router();
var PORT = 3000;
//此方法将调用next()中间件
app.use('/', function (req, res, next) {
console.log('Middleware will not be called')
})
//会在中间件之后调用
app.get('/api', function (req, res) {
console.log('Time for middleware function: %d', Date.now())
res.send('Welcome to nhooo.com')
})
//应用程序侦听以下端口
app.listen(PORT, function(err){
if (err) console.log(err);
console.log("Server listening on PORT", PORT);
});现在,使用GET请求点击以下端点
http://localhost:3000/api输出结果
C:\home\node>> node appUse.js Server listening on PORT 3000 Middleware will not be called