zoukankan      html  css  js  c++  java
  • node.js中express的Router路由的使用

    express中的Router作用就是为了方便我们更好的根据路由去分模块。避免将所有路由都写在入口文件中。

    一、简单的使用Router

    const express = require('express');
    
    let app = express();
    app.listen(8888);
    
    //创建路由实例,我们可以在该实例上自由的添加路由
    let usersRouter = express.Router();
    let orderRouter = express.Router();
    
    //添加两个路由到应用上
    app.use('/users', usersRouter);
    app.use('/order', orderRouter);
    
    //注意这时候再加路由,就可以不带前面的/users路径了
    usersRouter.get('/', function (req, res) {
        res.send('用户首页');
    });
    
    usersRouter.get('/:id', function (req, res) {
        res.send(`${req.params.id} 用户信息`);
    });
    
    //注意这时候再加路由,就可以不带前面的/order路径了
    orderRouter.get('/', function (req, res) {
        res.send('订单首页');
    });
    
    orderRouter.get('/:id', function (req, res) {
        res.send(`${req.params.id} 订单信息`);
    });
    

      

    二、划分文件使用Router

    创建一个routes目录,专门用于放置路由文件,通过module.exports导出供外部使用。

    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;
    

    Router是可以嵌套的,如果你想划分的更细,一个子路由还以引用子子路由,不断分下去。

  • 相关阅读:
    装饰者模式
    Moon.Orm总目录,及常见问题解决方案(有问题直接在这里问,我会立即作答)
    中国IT格局分析
    细说MVC框架的几大困惑
    一天学一个模式_第一天:策略模式
    一天学一个模式_第三天:单例模式
    一天学一个模式_第二天:代理模式
    News: Microsoft Released URL Rewriter 2.0 RTW
    微软一站式示例代码库 20100125 新增代码示例简介
    微软一站式示例代码库 1月小结
  • 原文地址:https://www.cnblogs.com/jkko123/p/10295052.html
Copyright © 2011-2022 走看看