You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Express的app.use中间件配置拆分到独立文件并调用

实现方案

你可以通过两种常用方式拆分中间件配置,以下是可直接运行的实现代码:

方法1:封装注册函数(配置内聚性高,推荐)

首先新建中间件配置文件,例如./middleware/parse.js:

import express from 'express';

// 接收express实例作为入参,统一注册解析中间件
export default function registerParseMiddleware(app) {
  app.use(express.urlencoded({ extended: true }));
  app.use(express.json());
}

修改主文件代码调用配置:

import express from 'express';
import routes from './routes.js';
// 引入中间件注册函数
import registerParseMiddleware from './middleware/parse.js';

const app = express();
const port = 8080;

// 传入当前app实例完成注册
registerParseMiddleware(app);
app.use('/', routes);

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})

方法2:导出中间件列表(灵活度高,可自定义注册顺序)

新建配置文件./middleware/parse.js:

import express from 'express';

// 导出中间件数组
export const parseMiddlewares = [
  express.urlencoded({ extended: true }),
  express.json()
];

主文件批量注册:

import express from 'express';
import routes from './routes.js';
import { parseMiddlewares } from './middleware/parse.js';

const app = express();
const port = 8080;

// 遍历数组批量注册中间件
parseMiddlewares.forEach(middleware => app.use(middleware));
app.use('/', routes);

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})

注意:你原有代码里的express.urlencode存在拼写错误,正确写法为express.urlencoded,末尾多一个字母d,否则运行会抛出方法不存在的报错。

内容的提问来源于stack exchange,提问作者user0999

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 06:39:03