随笔分类 - node
摘要:报primordials is not defined是由于node版本太高了,把node版本切换低些可以参考https://blog.csdn.net/yym836659673/article/details/104847572/#安装npm版本控制器npm install -g n#切换npm版
阅读全文
摘要:https://eggjs.org/zh-cn/basics/schedule.html
阅读全文
摘要:推荐一个node框架,之前一直用egg。最近发现了一个midway,是egg升级版,egg+ts。文档:https://midway.alibaba-inc.com/midway#/midway/lark/midwayjs/midway6/intro
阅读全文
摘要:wo我们可以查看github,它给出了很多情景,对接口内容,状态码,错误信息等都做了范例。大家写接口时可以参考一下。 https://developer.github.com/v3/ 下面就是不同的话题:
阅读全文
摘要:1.上传图片的功能点 基础功能:上传图片、生成图片连接 附加功能:限制上传图片的大小与类型、生成高中低三种分辨率的图片链接、生成CDN。 2.技术方案 阿里云OSS等服务器(花钱) 直接上传服务器(不稳定,可以学习时使用) 3.之前获取body我们使用的是koa-bodyparser,但这个不能获取
阅读全文
摘要:一、认证 (一)自己编写中间件实现认证 1.首先先写认证的代码,就是验证用户是否登陆了,验证方法是验证请求头中的token。 这里中间件我就直接写路由的文件里了,没有单独拎出去放专门中间件文件里。 const Router = require('koa-router'); const jsonweb
阅读全文
摘要:1.JWT构成 头部(header) 有效载荷(Payload) 签名(signature) 2.header(header是一段json,经过base64编码变成一段字符串,编码前后对比图如图所示:) typ:token的类型,这里固定为JWT alg:使用的hash算法,例如:HMAC SHA2
阅读全文
摘要:1.session工作原理 客户端通过用户名和密码请求服务端,服务端就会生成身份认证相关的session数据,比如用户、用户名等信息来生成一份session数据,会保存在内存里或内存数据库里,并将sessionId通过Set-cookie响应头返回给客户端, 客户端则会把sessionId存在coo
阅读全文
摘要:1.koa-bodyparser koa不能直接获取请求体里的body,需要安装一个中间件(koa-bodyparser) 详细内容见我的另一篇博客:https://www.cnblogs.com/kaiqinzhang/p/12091500.html 2.错误处理并返回json格式插件: koa-
阅读全文
摘要:node获取环境变量: process.env.NODE_ENV
阅读全文
摘要:1.常用的异常状况: 运行时错误,返回500 找不到该接口:404 先决条件失败(传的id没有查找到):412 无法处理的实体(参数格式不对):422 用户已存在:409 用户名或密码不正确:401 没有权限 :403 2.使用koa项目,推荐一个很好用的返回json格式的错误处理中间件 koa-j
阅读全文
摘要:1.获取query(问号后面的内容) ctx.query 2.获取路由参数(如'/user/:id'的id) ctx.param 3.获取body请求体 koa不能直接获取请求体里的body,需要安装一个中间件(koa-bodyparser) 安装: npm i koa-bodyparser --s
阅读全文
摘要:1.HTTP的options方法作用 检测服务器所支持的请求方法。(比如:‘/user'路由支持哪些方法:get、post、delete...) CORS中的预检请求(检测某个接口是否支持跨域) 2.allowedMethods方法 响应options方法,告诉它所支持的请求方法 相应的返回405(
阅读全文
摘要:1.REST:REST是万维网软件架构风格,用来创建软件服务的。 2.REST的六个限制: (1)客户-服务器 关注点分离 服务端专注数据存储,提升了简单性 前端专注用户界面,提升了可移植性 (2)(服务端)无状态 所有用户会话信息都保存在客户端 每次请求必须包括所有信息,不能依赖上下文信息。(例如
阅读全文
摘要:1.客户端请求的关于缓存的流程: 对于一个数据请求来说,可以分为发起网络请求、后端处理、浏览器响应三个步骤。浏览器缓存可以帮助我们在第一和第三步骤中优化性能。比如说直接使用缓存而不发起请求,或者发起了请求但后端存储的数据和前端一致,那么就没有必要再将数据回传回来,这样就减少了响应数据。 2.缓存的相
阅读全文
摘要:https://www.jianshu.com/p/ba40da728806
阅读全文
摘要:1.建一个app.js文件 const http = require('http'); const chalk = require('chalk'); const conf = require('./config/defaultConfig') const server = http.createS
阅读全文
摘要:1.README.md文件 关于项目的介绍和使用方法。 2. .gitignore文件 上传项目时不需要传的文件,最常用的就是“node_modules/",如下: 详细的介绍可以去git官网上看:https://git-scm.com/docs/gitignore 规则总结如下: 匹配模式前 /
阅读全文