一、安装依赖
npm install --save express
二、简单的路由
const express = require('express');
let app = express();
app.get("/",(req,res,next)=>{
res.send("简单路由");
})
app.listen(8888);
以前我都是这样直接写路由。一个路由对应一个路径,没有任何嵌套。
这样就比较不灵活,没有清晰的路由嵌套,如果在
/api/aftvc/yungui/
下面有两个子路由以前是这种写法:
app.get('/api/aftvc/yungui/users',回调函数);
app.get('/api/aftvc/yungui/order',回调函数);
现在我们就可以发挥应用中间件的作用:
const express = require('express');
let app = express();
app.listen(8888);
//创建路由实例,我们可以在该实例上自由的添加路由
let usersRouter = express.Router();
//添加两个路由到应用上
app.use('/api/aftvc/yungui', usersRouter);
//注意这时候再加路由,就可以不带前面的/users路径了
usersRouter.get('/', function (req, res) {
res.send('用户首页');
});
usersRouter.get('/user/:id', function (req, res) {
res.send(`${req.params.id} 用户信息`);
});
//注意这时候再加路由,就可以不带前面的/order路径了
usersRouter.get('/order/:id', function (req, res) {
res.send(`${req.params.id} 订单信息`);
});
访问链接和结果:
http://127.0.0.1:8888/api/aftvc/yungui
用户首页
http://127.0.0.1:8888/api/aftvc/yungui/user/hero
hero 用户信息
http://127.0.0.1:8888/api/aftvc/yungui/order/hero
hero 订单信息
不过一般我们都是创建一个routes目录,专门用于放置路由文件,通过module.exports导出供外部使用。
例如:app.js
const express = require('express');
let app = express();
app.listen(8888);
//添加两个路由到应用上
app.use('/users', require('./routes/users'));
app.use('/order', require('./routes/order'));
//404判断
app.use(function (req, res) {
res.send('404 not found');
});
users.js的代码:
const express = require('express');
let router = express.Router();
router.get('/', function (req, res) {
res.send('用户首页');
});
router.get('/:id', function (req, res) {
res.send(`${req.params.id} 用户信息`);
});
//导出该路由
module.exports = router;
order.js的代码:
const express = require('express');
let router = express.Router();
router.get('/', function (req, res) {
res.send('订单首页');
});
router.get('/:id', function (req, res) {
res.send(`${req.params.id} 订单信息`);
});
//导出该路由
module.exports = router;
现在你已经学会 Nodejs 路由的二级嵌套,可以模仿着进行多级路由嵌套。
2019年12月15日21:12:34