NodeJS 如何为所有节点/快速路由添加前缀

i34xakig  于 2023-03-08  发布在  Node.js
关注(0)|答案(2)|浏览(201)

有没有人知道配置express自动在所有路由前添加前缀的方法?例如,目前我有:
/
/route1
/route2
但是,我想添加一个前缀,如:
/prefix/
/prefix/route1
/prefix/route2
现在我需要手动定义prefix到我所有的路线,但想要一个更自动化/可配置的方式。有人能帮忙吗?
先谢了!

gajydyqb

gajydyqb1#

您可以使用快速路由器()来完成此操作。
您可以像使用Express应用程序一样使用路由器。例如:

const router = express.Router()
router.use(() => {}); // General middleware
router.get('/route1', () => {})
router.get('/route2', () => {})
router.post('/route2', () => {})

然后使用以下命令将路由器连接到Express应用程序:

app.use('/prefix', router);

https://expressjs.com/en/4x/api.html#router

iqjalb3h

iqjalb3h2#

  • 路线.js*
module.exports = (app) => {
   app.post('/route', (req, res) => {
      res.status(status);
      res.send(data);
   }); 

   app.get('/route', (req, res) => {
      res.status(status);
      res.send(data);
   }); 

   return app; 
};
  • 服务器.js*
const router = express.Router()
const routes = require('./routes')(router, {});
app.use('/PREFIX_HERE', routes)

参考:https://expressjs.com/en/guide/using-middleware.html

相关问题