zoukankan      html  css  js  c++  java
  • node服务端笔记

    一,node起服务+数据交互+中间件

    什么是node express koa

    node是js在后端运行时的一个环境

    express,koa是基于node的框架,快速构建web应用

    前后端交互方式

    1.短链接:ajax  

      前端主动发请求,不发不回,不主动回,请求数据量大

    2.长链接:websocket  (像微信,上线通知的功能等等...)

      全双工,前端和后端简历链接后,一直维持联系,没有请求,需要有心跳机制维护链接

      跟字节打交道(进制,二进制,十进制...)

    前后端分离方式

      并行开发

    创建简单的node服务

      npm init -y 创建package.json文件

      安装依赖包  

    1 npm i express body-parse

      express: 基于node的框架

      body-parser: 用于http请求的body解析

    路由

      web框架都有路由,mvc(m:Module 数据,c:Controller 控制器,v:View 视图)

      jade -- 前端模板,类似于vue template

      express + jade 就是mvc

      定义不同的请求地址,在项目中对接口进行封装

    中间件

      可以理解成vue中的全局前置守卫,router.beforeEach()

      拦截的作用,前端请求到后端,中间的拦截(例如token,权限验证)

      替换的作用,例如发送的一些不文明用于,处理替换成**

      记录日志请求

    本节课的代码

      新建文件夹node,新建文件node_express.js文件,

      打开终端,npm init,生成package.json,

      运行 node node_express.js,访问localhost:3000即可

     1 var express = require("express")
     2 const bodyParser = require("body-parser")
     3 var router = express.Router()
     4 
     5 // 实例化express
     6 var app = express()
     7 
     8 //配置bodyparser 解析的作用  固定写法 
     9 app.use(bodyParser.json())   //解析json
    10 app.use(bodyParser.urlencoded({ extended: true }))  //解析表单数据
    11 
    12 //日志中间件
    13 app.use(async (req, res, next) => {
    14   console.log('1.日志中间件开始')
    15   if (req.query.content) {
    16     req.query.content = req.query.content.replace("二逼", '**')
    17   }
    18   await next()
    19   console.log('3.日志中间件结束')
    20 })
    21 
    22 
    23 //第一种方式 定义接口
    24 //定义get接口  req:前端请求  res:响应给前端的数据
    25 app.get("/getList", function (req, res) {
    26   console.log(req.query, '参数')
    27   //返回字符串给浏览器
    28   var obj = { name: 'shun' }
    29   res.send(obj)
    30 })
    31 
    32 
    33 //第二种方式 定义接口
    34 router.get("/api/getList", function (req, res) {
    35   console.log('2.改接口日志查询过程中')
    36   res.status(200).send({ code: 200, msg: '通过路由定义的接口请求 ', content: "中间件替换不文明用于" + req.query.content })
    37 })
    38 //添加路由
    39 app.use("/", router)
    40 
    41 
    42 app.listen(3000, function () {
    43   console.log('服务已启动,端口3000')
    44 })

    2,重构express支持模块化及es6支持+框架思想

      

  • 相关阅读:
    多测师讲解python _练习题002_高级讲师肖sir
    多测师讲解python _练习题002_高级讲师肖sir
    多测师讲解python _类(原始版)_高级讲师肖sir
    多测师讲解python _练习题003_高级讲师肖sir
    多测师讲解python _re模块_高级讲师肖sir
    多测师讲解python_os模块_高级讲师肖sir
    多测师讲解python _string_高级讲师肖sir
    MySQL介绍
    linux平台mysql密码设破解
    linux平台mysql密码设置
  • 原文地址:https://www.cnblogs.com/shun1015/p/15504121.html
Copyright © 2011-2022 走看看