[英]ExpressJS: require multiple files with app.use()?
Routing : 路由 :
app.use('/cms/', require('./routes/index.js'));
app.use('/cms/schools/', require('./routes/schools.js'));
Routes : 路线 :
/cms/
/cms/schools/
/cms/schools/:schoolId/classes/:classId
Goal : I'd like to split ./routes/schools.js
into two files: schools.js
and schools_classes.js
, to keep a better overview. 目标 :我想分裂
./routes/schools.js
分为两个文件: schools.js
和schools_classes.js
,保持一个更好的概述。
Problem : I'd like to keep the prefixed path /cms/schools/
, but don't know how to split it correctly. 问题 :我想保留前缀路径
/cms/schools/
,但不知道如何正确分割它。
How can I structure the files to reach the desired goal? 如何构造文件以达到期望的目标? Thanks in advance!
提前致谢!
Edit 1 : I tried the following, which is not working (duplicated route prefix): 编辑1 :我尝试了以下操作,但不起作用(重复的路由前缀):
app.use('/cms/', require('./routes/index.js'));
app.use('/cms/schools/', require('./routes/schools.js'));
app.use('/cms/schools/', require('./routes/schools_classes.js'));
You can do It using the express router: 您可以使用快速路由器来做到这一点:
Routes: 路线:
const schoolsRouter = require('./routes/schools');
app.use('/cms/schools', schoolsRouter)
./routes/schools/index.js: ./routes/schools/index.js:
const express = require('express');
const router = express.Router();
router.use('/',require('./schools _controller.js'));
router.use('/:schoolId/classes/:classId', require ('./schools_classes_controller.js'));
module.exports = router;
You can check the entire router docs here: http://expressjs.com/en/4x/api.html#router 您可以在此处查看整个路由器文档: http : //expressjs.com/en/4x/api.html#router
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.