zoukankan      html  css  js  c++  java
  • node.js-express路由基础+获取前端数据+rmvc架构开发

    /*
     * @Description:express基础
     * @Author: NanKe
     * @Date: 2021-11-07 18:12:15
     * @LastEditTime: 2021-11-08 20:39:37
     * @LastEditors: NanKe
     * @Cnblogs: https://www.cnblogs.com/NanKe-Studying/
     * @FilePath: 
    odeexpressexpress1.js
     */
    
    const express = require("express")
    const app = express()
    const arr = [(req, res, next) => {
        console.log(0);
        next()
    }, (req, res, next) => {
        console.log(1);
        next()
    }, (req, res, next) => {
        console.log(2);
        next()
    }]
    app.use('/', arr)
    
    app.use('/api', (req, res) => {
        res.end("iii")
    })
    
    app.listen(8080, () => {
        console.log("localhost:8080 Listen");
    })

    可以看到

    /*
     * @Description:express+路由表--》获取前端传递的参数
     * @Author: NanKe
     * @Date: 2021-11-08 16:11:51
     * @LastEditTime: 2021-11-08 20:45:46
     * @LastEditors: NanKe
     * @Cnblogs: https://www.cnblogs.com/NanKe-Studying/
     * @FilePath: 
    odeexpressexpress2.js
     */
    const express = require("express")
    const router = require("./router/index")
    const app = express()
    
    //处理前端传递表单数据 parse application/x-www-form-urlencoded
    app.use(express.urlencoded({ extended: false }))
    //处理前端传递json数据 parse application/json
    app.use(express.json())
    
    app.use('/', router)
    
    app.listen(8080, () => {
        console.log("localhost:8080 Listen");
    })
    /*
     * @Description:express路由表
     * @Author: NanKe
     * @Date: 2021-11-08 16:07:49
     * @LastEditTime: 2021-11-08 20:34:48
     * @LastEditors: NanKe
     * @Cnblogs: https://www.cnblogs.com/NanKe-Studying/
     * @FilePath: 
    odeexpress
    outerindex.js
     */
    
    const express = require("express")
    const router = express.Router()
    
    router.get('/', (req, res, next) => {
        res.send("123")
    })
    //语义化接口 前后端交流
    //获取数据
    router.get('/index', (req, res, next) => {
        res.send(req.query)
        console.log(req.query);
    })
    //添加数据
    router.post('/testpost', (req, res, next) => {
        console.log(req.body);
        res.send(req.body)
    })
    //修改数据-覆盖式修改
    router.put('/index1', (req, res, next) => {
        res.send('patch response')
    })
    //修改数据-增量式修改
    router.patch('/index2', (req, res, next) => {
        res.send('patch response')
    })
    // 理解requests中的PATCH和PUT的区别
    // 假设URL位置有一组数据UserInfo,包括UserID、UserName等20个字段
    // 需求:用户修改了UserName,其他不变
    // 采用PATCH,仅向URL提交UserName的局部更新请求
    // 采用PUT,必须将所有20个字段一并提交到URL,未提交字段被删除
    // PATCH的最主要好处:节省网络带宽
    // 其实controller控制一下不就好了吗,咋这么复杂,POST请求也能做更新呀,只传username,然后service层去调用对应的更新不就好了
    
    //删除数据
    router.delete('/index3', (req, res, next) => {
        res.send('delete response')
    })
    //不管前端什么请求都有返回
    router.all('/all', (req, res, next) => {
        res.send('你太厉害了 这么多种请求方式')
    })
    
    module.exports = router

    目录结构

     get

     post 传递json 无x-www-form-urlencoded

     post 传递表单 content-type:x-www-form-urlencoded

     all

     rmvc架构开发

    目录 新增控制层

    /*
     * @Description:控制层
     * @Author: NanKe
     * @Date: 2021-11-08 21:08:11
     * @LastEditTime: 2021-11-08 21:14:14
     * @LastEditors: NanKe
     * @Cnblogs: https://www.cnblogs.com/NanKe-Studying/
     * @FilePath: 
    odeexpresscontrollersindex.js
     */
    const list = (req, res, next) => {
        res.send('hello')
    }
    
    exports.list = list

    路由表引入控制层

    const express = require("express")
    const router = express.Router()
    const { list } = require("../controllers")
    
    router.get('/', list)
    module.exports = router

     express全局安装

    npm install express -g

    npm install -g express-generator

  • 相关阅读:
    ios隐藏键盘的方式简单应用
    iosiOStextView实现文字高度自适应
    ios xcode中所有自带的字体如下(最好结合NSMutableAttributedString相结合使用)
    iosNSMutableAttributedString 简单操作
    ios电话监听状态
    iOS拨打电话
    iOS TextField输入框点击键盘时随着键盘上移
    Linux学习之CentOS(七)---常用基本操命令1
    Linux学习之CentOS(六)---mount挂载设备(u盘,光盘,iso等 )
    Linux学习之CentOS(五)--CentOS下VMware-Tools安装
  • 原文地址:https://www.cnblogs.com/NanKe-Studying/p/15526092.html
Copyright © 2011-2022 走看看