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

如何为Express项目所有路由统一添加指定路径前缀

路由统一添加/api/health前缀实现方法

不需要改动单个业务路由文件(比如routes/food.js),只需要调整统一路由挂载逻辑即可,两种可选方案如下:

  • 方案1:修改路由总入口routes/index.js(推荐,后续维护最方便)
    把原来直接把路由挂到app实例的逻辑,改成先挂到内部路由实例,再统一加前缀挂载到app,修改后代码:

    const express = require('express')
    const foodRoute = require('./food');
    const rootRouter = express.Router()
    
    // 原有业务路由挂载逻辑不变
    rootRouter.use('/food', foodRoute)
    
    module.exports = function (app) {
        // 统一绑定全局前缀
        app.use('/api/health', rootRouter)
    };
    

    改完后原有GET /food接口会自动变为GET /api/health/food,后续新增业务路由只要挂载到rootRouter上,都会自动携带统一前缀。

  • 方案2:修改项目根目录入口文件/index.js
    如果你不想改动routes/index.js的现有结构,可以直接在入口处调整挂载逻辑,把原来的代码:

    require('./routes')(app);
    

    替换为:

    const express = require('express')
    const prefixRouter = express.Router()
    // 先把所有业务路由挂载到前缀路由实例
    require('./routes')(prefixRouter)
    // 统一注册带前缀的路由
    app.use('/api/health', prefixRouter)
    

    你当前的路由导出逻辑完全兼容这种写法,不需要额外修改其他文件。

两种方案效果完全一致,改完后所有接口都会自动携带/api/health前缀,不需要逐个修改单路由文件的配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 14:12:13