zoukankan      html  css  js  c++  java
  • node.js 框架express有关于router的运用

    1、express 路由入门

    const express = require('express');
    let server = express();
    server.listen(8087);
    //用户界面
    let user_router = express.Router();
    server.use('/user', user_router);
    user_router.get('/', (req, res) => {
        res.send('这个是用户界面的根目录');
        res.end();
    })
    user_router.get('/login', (req, res) => {
        res.send('这个是用户的登录界面');
        res.end();
    })
    user_router.get('/register', (req, res) => {
        res.send('这个是用户的注册界面');
    })
    
    //子路由下还可以嵌套路由,注意实例化出来的类
    let vip_router = express.Router();
    user_router.use('/vip', vip_router);
    vip_router.get('/', (req, res) => {
        res.send('这个是vip的根目录');
    })
    vip_router.get('/login', (req, res) => {
        res.send('这个是VIP的登录界面');
        res.end();
    })
    
    //列表界面
    let list_router = express.Router();
    server.use('/list', list_router);
    list_router.get('/', (req, res) => {
        res.send('这个是列表的根目录');
        res.end();
    })
    list_router.get('/main', (req, res) => {
        res.send('这个是列表展示的主页');
        res.end();
    })

     2、为了更好的进行模块化管理,可以把代码进行分割

     a、在主服务目录下

    const express = require('express');
    let server = express();
    server.listen(8087);
    //用户界面,引进模块,如果引进的是一个路径,那么默认访问的是这个目录下的index.js文件
    server.use('/user', require('./parts/user'));
    //列表界面,引进模块
    server.use('/list', require('./parts/list'));

    b、创建parts(根据自己的具体情况设置目录),并且在parts下设置三个文件user.js,list.js,vip.js;

    对应的user.js的布局如下

    const express = require('express');
    let user_router = express.Router();
    user_router.get('/', (req, res) => {
        res.send('这个是用户界面的根目录');
        res.end();
    })
    user_router.get('/login', (req, res) => {
        res.send('这个是用户的登录界面');
        res.end();
    })
    user_router.get('/register', (req, res) => {
        res.send('这个是用户的注册界面');
    })
    
    //引入子模块
    user_router.use('/vip', require('./vip'));
    
    //输出模块
    module.exports = user_router;

    对应的子目录vip.js的布局

    const express = require('express');
    let vip_router = express.Router();
    vip_router.get('/', (req, res) => {
        res.send('这个是vip的根目录');
        res.end();
    })
    vip_router.get('/login', (req, res) => {
        res.send('这个是vip的登录');
        res.end();
    })
    
    module.exports = vip_router;

    对应的list.js的布局

    let express = require('express');
    let list_router = express.Router();
    list_router.get('/', (req, res) => {
        res.send('这个是列表的根目录');
        res.end();
    })
    list_router.get('/main', (req, res) => {
        res.send('这个是列表展示的主页');
        res.end();
    })
    
    //输出模块
    module.exports = list_router;
  • 相关阅读:
    sqlite错误 Abort due to constraint violation column id is not unique id没开启自动增长
    字符串转为日期类型
    XPTable 一行添加数据 如果想添加多行 可以使用for循环
    在逮捕异常的时候 可以获取e.MESSAGE里面的信息 然后判断是什么异常
    C# 加载图片image (C#)Image.FromFile 方法会锁住文件的原因及可能的解决方法
    计算两个时间的前后 时间戳
    用C#语言写的多线程演示程序:两个线程,可以开始,可以暂停,可以恢复,可以清除。
    sqlite插入日期时候 出现18991230 0:00:00
    datagridview绑定dataset的时候 需要这一句
    WinForm 子线程修改主线程(UI线程)Control 【Z】
  • 原文地址:https://www.cnblogs.com/rickyctbu/p/9685576.html
Copyright © 2011-2022 走看看