- 博客(72)
- 资源 (2)
- 收藏
- 关注
原创 jwt 认证机制
1 session 认证的局限性2 什么是jwt2 jwt工作原理2 jwt字符串组成部分3 jwt使用方式4 在express项目中使用jwt注:expiresin 为配置有效期
2022-05-28 01:12:41
221
原创 前后端身份验证 session
1 web开发模式2 如何选择web开发模式3 什么是身份认证3.1 为什么需要身份认证4 session认证机制4.1 http协议的无状态性
2022-05-28 00:26:06
745
原创 项目中使用mysql
1在项目中操作mysql的步骤1.1 安装mysql模块1.2 配置mysql模块1.3 测试mysql模块是否能正常工作注: select 1 无实际作用,只为测试1.4 查询数据1.4 插入数据1.5 更新数据1.6 删除数据2 标记删除...
2022-05-23 10:13:29
199
原创 数据库基本概念
1 什么是数据库2 常见的数据库分类3 传统型数据库的数据组织结构4 库、表、行、字段的关系5 安装配置mySQL6 SQL6.1 SQL能做什么6.2 sql select语句6.3 sql insert语句6.4 sql update语句6.5 sql delete语句6.5 sql的where子句6.6 sql里的and与or运算符6.7 sql里的orderBy 子句6.8 sql里的count * 函数..
2022-05-23 00:42:22
148
原创 express (二)
1 express写接口的跨域问题2 使用cors中间件解决跨域问题3 什么是CORS4 CORS注意事项5 CORS响应头6 CORS请求的分类7 jsonp 接口7.1 实现jsonp接口
2022-05-22 15:24:43
173
原创 express(一)
什么是express2 express 用处3 express的使用3.1 express安装3.2 创建基本的web服务器3.3监听get请求3.4监听post请求3.5 响应给客户端3.6获取url中携带的查询参数3.7 获取url中的动态参数也可匹配两个3 express 托管静态资源3.1托管多个静态资源目录3.2 静态资源挂载路径前缀4 nodemon 的使用4.1 为什么使用nodemon4.2 安装nodemon5 expre
2022-05-22 01:51:35
375
原创 nodeJs 包
1什么是包2包的来源3 为什么使用包4 从哪里下载包5 npm 初体验6 安装包的命令7 初次装包后多了哪些文件8安装指定版本的包9 包的语义化版本规范10 包管理配置文件11 快速创建package.json12 dependencies节点13 卸载包14 devDependencies结点15为什么下包速度慢16 解决下包慢问题17 切换npm下的包镜像源18 包的分类(项目包与全局包)19 规范的包结构...
2022-05-21 14:28:12
176
原创 nodeJs模块化
1 什么是模块化2 nodeJs模块的分类3 加载模块4 什么是模块作用域注:模块作用域的好处是防止了全局变量污染5 向外共享模块作用域中的成员6 共享成员时的注意点7 exports对象8 model.exoprts与exports的使用误区9 nodeJs模块化规范...
2022-05-14 20:41:17
131
原创 node 基础 创建基本的Web服务
1 创建web服务器的基本步骤2 req请求对象3 解决中文乱码问题4 res响应对象5根据不同url响应不同的内容
2022-05-14 19:09:08
110
原创 node基础 http模块
1 什么是http模块回顾:什么是客户端、什么是服务器在网络节点中,负责消费资源的电脑叫客户端;负责对外提供网络资源的电脑叫做服务器。2 服务器相关概念2.1 ip地址2.2 域名与域名服务器2.3 端口号...
2022-05-14 17:50:44
111
原创 node基础 path模块
1 什么是path路径模块path模块是node.js官方提供的,用来处理路径的模块。它提供了一系列的地方法和属性,用来满足用户对路径的处理需求。2 路径的拼接3 获取路径中的文件名path.basename()4 获取路径中的文件拓展名...
2022-05-14 17:26:49
902
原创 node fs文件系统(fs模块)
1 fs.readFile()读取指定文件中的内容2判断文件是否读取成功判断error对象是否为null3 fs.writeFile向指定的文件写入内容
2022-05-14 17:07:42
158
原创 nodeJs
1 什么是nodeJsnode.js是一个基于Chrome V8引擎的JavaScript运行环境。2 nodeJs中javaScript运行环境注:浏览器是javaScript的前端运行环境node.js是javaScript的后端运行环境node.js中无法调用Dom和Bom等浏览器内置API...
2022-05-04 17:12:50
765
原创 promise 读书笔记,promise核心方法(手写promise)
promise 术语1 promise 是一个有then方法的对象或者函数,行为遵循PromiseA+规范2 thenable 是一个有then方法的函数或者对象3 value promise 状态成功时的值,resolve 的参数,number boolean undefined promise4 reason promise 状态失败时的值, reject的参数5 exception 异常值promise的各种状态1 pending1.1 初始状态 可改变1.2 一个promise在r
2022-04-10 15:11:03
463
原创 前端各种禁止
禁止鼠标右键:οncοntextmenu=“return false”;禁止选择:onselectstart=“return false”;禁止拖放:οndragstart=“return false”;禁止拷贝:οncοpy=document.selection.empty() 。禁止复制:oncopy = “return false”;禁止保存:,放在head里面。禁止粘贴:<input type=text οnpaste=“return false”>禁止剪贴:oncut =
2022-03-22 17:16:27
179
原创 vue项目保存单引号变双引号
vscode设置中搜索vetur.format.defaultFormatter.js选择vscode-typescript在项目根目录下新建.prettierrc.json{ "singleQuote":true, "semi":false}
2022-03-21 14:07:50
1199
原创 currentColor
currentColor是css3中的新属性,它的意思是设置当前颜色值为当前文字的颜色,也就是currentColor的值==color属性的值
2021-09-06 11:12:02
255
原创 node.js创建第一个应用
node.js创建第一个应用1 引入require模块我们是用require指令来载入http模块,并将实例化的http赋值给变量http,实例如下var http=require(‘http’)2 创建服务器http.createServer() 方法创建服务器并使用 listen 方法绑定 8888 端口。 函数通过 request, response 参数来接收和响应数据。实例如下,在你项目的根目录下创建一个叫 server.js 的文件,并写入以下代码:var http = requi
2021-07-12 11:38:20
197
原创 echarts饼状图实现不同icon
echarts饼状图实现不同icon引入图片1.1引入图片1.1import img1 from '@/assets/img/power.png'import img2 from '@/assets/img/underPan.png'import img3 from '@/assets/img/assist.png'import img4 from '@/assets/img/control.png'import img5 from '@/assets/img/other.png'cons
2021-06-10 14:28:05
718
原创 MockJs的使用
MockJs的使用1 Mock.js的语法规范1.1 数据模板定义规范1.1.1 生成规则示例1.2 数据占位符定义规范1 Mock.js的语法规范Mock.js的语法规范包括两部分:1 数据模板定义规范2 数据占位符定义规范1.1 数据模板定义规范数据模板中的每个属性由三部分组成:属性名、生成规则、属性值。//属性名 name // 生成规则 rule // //属性值 value 'name|rule':value注意:1 属性名和生成规则之间用|分隔。2 生成规则是可
2021-03-25 17:23:37
193
原创 实现简易前端路由
1路由路由是一个比较广义和抽象的概念,路由的本质就是对应关系。在开发中,路由分为:前端路由和后端路由。1.1后端路由:概念:根据不同的用户URL请求,返回不同的内容。本质:URL请求地址与服务器资源之间的对应关系。1.2 前端路由概念:根据不同的用户事件,显示不同的页面内容本质:用户事件与事件处理函数之间的对应关系1.3 实现简易前端路由(前端路由的本质)基于URL中的hash实现(点击菜单的时候改变URL中的hash,根据hash的变化控制组件的切换)。<!DOCTYPE
2021-01-14 15:22:59
259
2
原创 发布者订阅者模式
1 发布订阅模式理解假定存在一个信号中心,某个任务执行完成就向信号中心发布一个任务,其他任务可以向信号中心订阅这个任务从而知道什么时候自己可以开始执行。(学生家长向学生所在班级订阅了获取学生考试成绩这一个事件,当老师公布了学生的成绩后就自动的通知学生的家长,这样学生家长就知道了学生的考试成绩)在这个例子中学生所在班级就是信号信息,老师是发布者,学生是订阅者。注:vue中兄弟组件通信过程就是通过发布者订阅者模式实现的。2 发布订阅者模式代码...
2021-01-14 09:49:33
281
原创 vue3响应式原理(proxy)
vue3的响应式原理是配合proxy来实现的,它是直接监听对象而非属性,所以就不需要使用循环了1 vue3使用proxy实现双向数据绑定原理代码<body> <div id="app"></div> <script> let data={ msg:'hello', count:10 }; let vm=new Proxy(data,{
2021-01-13 16:27:07
2341
原创 vue2.x双向数据绑定原理
1 vue双向数据绑定深入理解当你把一个普通的JavaScript对象传入Vue实例作为data选项,Vue将遍历此对象的所有Property,并使用Object.defineProperty把这些Property全部转为getter/setter。Object.defineProperty是ES5中一个无法shim的特性,这也是Vue不支持IE8以及更低版本浏览器的原因。这些getter/setter对用户来说是不可见的,但是在内部它们让Vue能够追踪依赖,在property被访问和修改时通知变更。
2021-01-13 15:36:14
166
原创 虚拟Dom
1 虚拟Dom虚拟Dom是由普通的Js对象来描述Dom对象,因为不是真正的Dom对象,所以才叫虚拟Dom。为什么用虚拟Dom来模拟真实的Dom?因为一个Dom对象中的成员是非常多的,所以创建Dom对象的成本是非常高的,如果使用虚拟Dom来描述真实Dom,就会发现创建的成员少,成本也就低了。注:操作Dom会影响页面的性能,并且有时候数据根本没有发生改变,我们希望未更改的数据不需要重新渲染。2 虚拟Dom的思想虚拟Dom的思想是先控制数据再到视图,但是数据状态是通过diff比对,它会比对新旧虚拟Dom
2021-01-13 14:07:58
131
原创 服务端渲染与客户端渲染
1 渲染的概念渲染就是将模板与数据拼接到一起2 传统的服务端渲染传统的服务端渲染是把模板与数据统一生成好返回给客户端,是有利于SEO的。3 服务端渲染服务端渲染 :DOM树在服务端生成,然后返回给前端。服务端渲染的模式下,当用户第一次请求页面时,由服务端把需要的组件或页面渲染成HTML字符串,然后把它返回给客户端。客户端拿到手的,是可以直接渲染然后呈现给用户的HTML内容,不需要为了成为DOM内容自己再去跑一遍JS代码。使用服务端渲染的网站,可以说是‘所见即所得’,页面上呈现的内容,我们在ht
2021-01-13 10:36:58
190
原创 单页面应用优缺点
1 单页面应用优缺点1 用户体验好2 开发效率高3 可维护性好2 单页面应用的缺点1 首屏渲染时间长(原因:在客户端是通过js生成html页面,用户需要等待客户端解析JavaScript)2 不利于SEO(SEO:汉译为搜索引擎优化。是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。目的是:为网站提供生态式的自我营销解决方案,让其在行业内占据领先地位,获得品牌收益。)3 解决单页面应用的缺点提出了服务端渲服务端渲染:简单理解是将组件或页面通过服务器生成html字符串,再发送到
2021-01-13 09:47:22
993
原创 reduce
1 reducereduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。对空数组是不会执行回调函数的。1.1 语法// 1.数组求和var arr = [1,5,8,6,15,78,65,25,48,55]var sum = arr.reduce(function(total,currentValue){ return total+currentValue;});console.log(sum);//306//2.合并二维数组var t
2021-01-10 13:34:04
262
原创 将ES6代码转换为ES5代码
ES6 代码转为 ES5 代码(一)单个js文件解码1 命令在项目目录中,安装Babel2 配置文件.babelrc3 安装转码规则4 配置.babelrc5 命令行转码6 控制台转码输出(不常用)7 将转码结果写入一个文件(二)整个目录转码注意:转码不是必须的,看自己的需求,转码是为了兼容低版本的浏览器Babel 是一个广泛使用的ES6转码器,可以将ES6转化为ES5##安装步骤(前提安装了Nodejs)注:没安装cnpm下面的cnpm就用npm就可以(一)单个js文件解码1 命令在项目目录中
2020-09-24 21:29:32
1690
原创 ajax实现步骤(ajax二)
ajax实现步骤1 ajax实现原理2 ajax实现步骤3 状态码3.1 xhr.readyState3.2 http状态码:4 原生的ajax_get5 原生的ajax_post6 http协议请求头7 同步异步8 获取本地json数据解析方法(二)8 获取本地json数据解析方法(二)1 ajax实现原理2 ajax实现步骤步骤:1.创建ajax对象(XMLHttpRequset)2.让ajax去发送http网络请求 请求服务器3.服务器接收网络请求4.服务器处理请求 并响应数据返回
2020-09-04 20:25:31
351
原创 Ajax介绍(一)
Ajax (一)1 ajax介绍2 什么是ajax3 应用场景4 ajax交互工作内容5 ajax优缺点1 ajax介绍术语ajax最早产生于2005年,Ajax表示Asynchronous JavaScript and XML(异步JavaScript和XML),但是它不是像HTML、JavaScript或CSS这样的一种“正式的”技术,它是表示一些技术的混合交互的一个术语(JavaScript、Web浏览器和Web服务器),它使我们可以获取和显示新的内容而不必载入一个新的Web页面。增强用户
2020-09-04 19:30:15
227
原创 php(四)详细说明
1 前后端连接操作数据1.1 原生form表单登录操作<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie
2020-09-01 22:16:00
116
原创 php(三)详细说明
php(三)详细说明1 前后端交互2 数据库操作2.1 sql语句1 前后端交互2 数据库操作2.1 sql语句1.插入语句语法:$sql = “insert into 表名(字段1,字段2,…) values (‘值1’,‘值2’,…)”;sql="insertinto表名values(值1,值2,...)";2.修改语句语法:sql = "insert into 表名 values(值1,值2,...)";2.修改语句语法:sql="insertinto表名values(值1,值2,.
2020-09-01 22:06:03
171
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人