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

时间:2017-11-01 16:01:47

标签: node.js express routes

有没有人知道配置express以自动在所有路由之前添加前缀的方法?例如,目前我有:

/

/route1

/route2

但是,我想添加一个前缀,如:

/prefix/

/prefix/route1

/prefix/route2

现在我需要手动为我的所有路线定义prefix,但希望采用更加自动化/可配置的方式。有人可以帮忙吗?

提前致谢!

2 个答案:

答案 0 :(得分:3)

您可以使用快速路由器()。

您可以像使用快递应用一样使用路由器。例如:

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

然后使用以下命令将路由器连接到您的快速应用:

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

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

答案 1 :(得分:3)

routes.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; 
};

Server.js

const router = express.Router()
const routes = require('./routes')(router, {});
app.use('/PREFIX_HERE', routes)

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

相关问题