请说明在 Express 框架中,app.use() 方法的具体用法是什么?
考察说明
考查对 Express 中间件挂载机制的理解。
回答思路
- 【回答框架 1】app.use() 是 Express 应用实例用于注册中间件或路由挂载点的方法,可接受路径参数和回调函数。
- 【回答框架 2】当不传路径时,中间件对所有请求生效;传入路径时,仅对该路径及其子路径的请求生效。
- 【回答框架 3】回调函数接收 req、res 和 next 三个参数,通过调用 next() 将控制权传递给下一个中间件。
- 【回答框架 4】app.use() 常用于加载全局中间件,如日志、静态文件、错误处理等,也可用于挂载子路由。
- 【回答框架 5】中间件按注册顺序执行,需注意顺序对请求处理流程的影响。
- 【关键点 1】app.use() 用于注册中间件,可指定可选路径前缀。
- 【关键点 2】不传路径时匹配所有请求,传路径时匹配该路径及子路径。
- 【关键点 3】中间件通过 next() 传递控制权,实现链式处理。
- 【关键点 4】常用于全局中间件和子路由挂载。
- 【易错点 1】中间件顺序错误可能导致请求处理异常。
- 【易错点 2】忘记调用 next() 会导致请求挂起。
- 【易错点 3】路径匹配是前缀匹配,需注意子路径的覆盖范围。