美文网首页基础前端
express的路由嵌套

express的路由嵌套

作者: CondorHero | 来源:发表于2019-12-15 21:12 被阅读0次

一、安装依赖

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

相关文章

  • express的路由嵌套

    一、安装依赖 二、简单的路由 以前我都是这样直接写路由。一个路由对应一个路径,没有任何嵌套。 现在我们就可以发挥应...

  • node学习4

    Nodejs 路由模块封装、封装仿照 express 的路由 Nodejs 路由模块封装 封装仿照 express...

  • express路由

    路由能力:var express = require("express"); var app = express(...

  • 二、vue基础-路由(重要)

    嵌套路由 嵌套路由需求场景 实际开发中的应用界面,通常由多层嵌套的组件组合而成 嵌套结构要对应着嵌套路由(通过路由...

  • express 基础以及mongo基础

    express框架 express使用步骤 express的路由 express之next方法 express之通...

  • vue嵌套路由与404重定向实现方法分析

    第一部分: vue嵌套路由 嵌套路由是什么? 嵌套路由就是在一个被路由过来的页面下可以继续使用路由,嵌套也就是路由...

  • koa-router的使用

    Koa中的路由和Express不同,Express是把路由集成在Express中,Koa则需要通过kao-rout...

  • vue嵌套路由

    嵌套路由 定义:路由中嵌套子路由,子路由中关键属性children例: 页面上 路由中

  • Express路由

    Express路由 一、Express路由简介 路由表示应用程序端点 (URI) 的定义以及响应客户端请求的方式。...

  • Vue嵌套路由和路由守卫

    嵌套路由 路由守卫

网友评论

    本文标题:express的路由嵌套

    本文链接:https://www.haomeiwen.com/subject/ygslnctx.html