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

如何在JavaScript Express框架中实现路由配置?

在Express框架中实现路由功能的方法

Express的路由功能用于匹配客户端请求的URL路径,并执行对应的处理逻辑,下面分基础实现和模块化配置两种场景说明:

一、基础路由实现

如果路由数量较少,可以直接在主应用文件(比如app.js)中定义:

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

// 匹配GET请求的根路径
app.get('/', (req, res) => {
  res.send('首页内容');
});

// 匹配POST请求的用户创建接口
app.post('/api/user', (req, res) => {
  res.json({ status: 'ok', msg: '用户创建成功' });
});

// 启动服务
app.listen(3000, () => {
  console.log('服务运行在http://localhost:3000');
});

二、模块化路由配置

当业务复杂、路由数量较多时,拆分模块化路由能大幅提升代码的可维护性,具体步骤如下:

1. 创建子路由文件

分别为不同业务模块创建独立的路由文件,比如song.js和label.js:
song.js示例:

const router = require('express').Router();

// 获取歌曲列表
router.get('/', (req, res) => {
  res.json({ data: ['晴天', '稻香'] });
});

// 获取单首歌曲详情
router.get('/:id', (req, res) => {
  res.json({ songId: req.params.id, name: '歌曲详情' });
});

module.exports = router;

label.js示例:

const router = require('express').Router();

// 获取唱片公司列表
router.get('/', (req, res) => {
  res.json({ data: ['杰威尔音乐', '华纳唱片'] });
});

module.exports = router;

2. 整合子路由到总路由

创建总路由文件(比如routes/index.js),将各子路由挂载到指定路径前缀下:

const router = require('express').Router()

const songRouter = require("./song");
const labelRouter = require("./label");

// 挂载歌曲模块路由,访问路径前缀为/songs
router.use('/songs', songRouter);
// 挂载唱片公司模块路由,访问路径前缀为/labels
router.use('/labels', labelRouter);

module.exports = router

3. 在主应用中挂载总路由

最后在app.js中引入总路由,完成全局挂载:

const express = require('express');
const app = express();
const mainRouter = require('./routes');

// 给所有路由统一加上/api前缀(可选,也可直接用app.use(mainRouter))
app.use('/api', mainRouter);

app.listen(3000, () => {
  console.log('服务已启动');
});

配置完成后,访问http://localhost:3000/api/songs会触发song.js中的列表接口,访问http://localhost:3000/api/labels则会触发label.js中的列表接口。

内容的提问来源于stack exchange,提问作者Arnold Pramudita Candra

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 23:10:10