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

Tru*_*ran 1 routes node.js express

有谁知道一种配置express的方法来自动在所有路由之前添加前缀?例如,目前我有:

/

/route1

/route2

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

/prefix/

/prefix/route1

/prefix/route2

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

提前致谢!

Ana*_*n K 7

路由.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; 
};
Run Code Online (Sandbox Code Playgroud)

服务器.js

const router = express.Router()
const routes = require('./routes')(router, {});
app.use('/PREFIX_HERE', routes)
Run Code Online (Sandbox Code Playgroud)

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


Dom*_*rtl 5

您可以为此使用express Router()。

您可以像使用Express应用一样使用路由器。因此,例如:

router.use(() => {}); // General middleware
router.get('/route1', () => {})
router.get('/route2', () => {})
router.post('/route2', () => {})
Run Code Online (Sandbox Code Playgroud)

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

app.use('/prefix', router);
Run Code Online (Sandbox Code Playgroud)

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