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支持+框架思想

  

原文地址:https://www.cnblogs.com/shun1015/p/15504121.html