zoukankan      html  css  js  c++  java
  • Nodejs库EXPRESS

    EXPRESS

    nodejs库,不用基础做起,工作简单化,点击进入官网,类似的还有 koa

    特点

    基于 Node.js 平台,快速、开放、极简的 Web 开发框架

    搭建web服务

    const express=require('express')  //引入express框架
    const server=express()  //创建一个web服务器
    server.listen(端口,地址,回调函数)
    

    静态资源托管

    server.use(express.static('静态资源路径'));
    

    use

    安装中间件、路由、接受一个函数

    server.use([地址],中间件|路由|函数体)
    

    req 请求体

    request 对象表示 HTTP 请求,包含了请求查询字符串,参数,内容,HTTP 头部等属性

    req.query //获取地址栏的数据
    req.body //获取非地址栏的数据  要依赖中间件 
    req.params //获取动态接口名   比如链接的id:server.get("/api/:id")
    req.method //获取前端提交方式
    

    注意:req.body依赖中间件

    middleware, 处理自定义业务,只处理请求到结束响应的中间部分

    举例 (例如使用body-parser,来去增强req的功能)

    const bodyParser=require('body-parser')//引入中间件
    server.use(bodyParser())//安装中间件
    

    body-parser 使用方式,实时查询 npm,可获得最新

    res 响应体

    response 对象表示 HTTP 响应,即在接收到请求时向客户端发送的 HTTP 响应数据

    res.send(any)   //向浏览器写入和响应结束。对等 res.write + res.end
    res.end(string|buffer)
    res.json(json) //返回json
    res.status(404).send({error:1,msg:"Sorry can't find that!"}) //设置状态码,返回一个404 
    

    接口响应

    支持各种请求姿势:get、post、put、delete…

    server.请求姿势API(接口名称,处理函数)
    server.get(url,(req,res,next)=>{})
    server.post(url,(req,res,next)=>{})
    ...
    

    next()放行,让后续的中间件获取到执行权限,去执行

    例如:

    app.get("/api/*",(req,res,next)=>{
    console.log("hello world。。")
    next() //放行,让后续的中间件获取到执行权限,去执行。只有这里执行了next(),下面代码中的user才会输出
    })
    
    app.get("/api/user/*",(req,res,next)=>{
    console.log("user!!!")
    res.send("hello world111111")  //结束了!
    })
    
    

    路由

    告诉你去哪,对于前端,主要是导向告诉浏览器应该去哪。对于后端,可以理解为一个子服务,一个路由就是一个小的服务,处理一类接口

    // 1. 创建路由
    let userRouter = express.Router(); 
    
    //2. 安装路由
    app.use('地址',userRouter); 
    
    //2 路由处理响应
    userRouter.响应API(地址, 处理函数)
    
    例如:
    //创建路由
    const userRouter = express.Router()
    //安装路由
    app.use("/api/user",userRouter)
    userRouter.get("/login",(req,res)=>{
        res.send("/api/user/login....")
    })  //执行api/user文件下的login文件
    userRouter.get("/reg",(req,res)=>{
        res.send("/api/user/reg....")
    })  //执行api/user文件下的reg文件
    
    请用今天的努力,让明天没有遗憾。
  • 相关阅读:
    go案例:客户管理系统流程 mvc模式 分层设计
    珠峰2016,第9期 vue.js 笔记部份
    前后端分离电商,业务逻辑部份
    'Specifying a namespace in include() without providing an app_name '报错解决
    vue2.0 前端框架
    vue项目实战
    电商网前后端分离数据表设计部份
    djang2.1教育平台02
    django框架开发流程
    测试的艺术:测试用例的设计
  • 原文地址:https://www.cnblogs.com/cupid10/p/15617715.html
Copyright © 2011-2022 走看看