- 博客(243)
- 资源 (4)
- 收藏
- 关注
原创 服务器推送数据之websocket、socket.io及实现简易聊天系统
服务器推送数据之websocket、socket.io及实现简易聊天系统
2022-11-20 23:50:16
720
原创 koa框架(一) 认识koa
koa是`express`原班人马打造的轻量、健壮、富有表现力的nodejs框架。目前koa有koa1和koa2两个版本;koa2依赖Node.js 7.6.0或者更高版本;koa不在内核方法中绑定任何中间件,它仅仅是一个轻量级的函数库,几乎所有功能都必须通过第三方插件来实现。
2022-11-20 15:26:18
391
转载 vue-cli、create-vue、webpack、vite、rollup的区别
webpack、Rollup、vite、rollup、create-vue、vue-cli
2022-11-16 22:03:48
294
原创 storybook + rollup + ts + tailwindcss + svelte 构建组件库
storybook + rollup + ts + tailwindcss + svelte 构建组件库
2022-09-14 22:19:26
159
原创 svelte + vite + tailwindCss + ts 工程模板
svelte + vite + tailwindCss + ts 工程模板
2022-09-09 00:34:16
188
原创 vue2源码浅读:vue2源码中用的工具类方法
vue2源码浅读:vue2源码中用的工具类方法vue2源码浅读:vue2源码中用的工具类方法vue2源码浅读:vue2源码中用的工具类方法vue2源码浅读:vue2源码中用的工具类方法
2022-06-29 17:56:47
205
原创 数据劫持(三)实现简易MVVM、插值、v-model
实现MVVM实现大胡子语法(插值)思路:通过Object.defineProperty观察数据,获取DOM元素node节点,通过正则匹配将{{message}}替换为data里的值index.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"
2022-03-15 22:44:29
646
原创 数据劫持(二)理解Proxy
Proxy文章目录Proxy了解Proxyget与setgetsetproxy与Object.defineProperty对比对象监听数组监听Proxy的其他捕获器hasgetPrototypeOf5 种触发 getPrototypeOf 代理方法的方式2种情况下的异常setPrototypeOfisExtensiblepreventExtensionsgetOwnPropertyDescriptordefinePropertydeletePropertyownKeysapplyconstruct了解P
2022-03-13 00:35:11
558
原创 数据劫持(一)由浅入深理解Object.defineProperty
Object.defineProperty文章目录Object.defineProperty理解数据劫持了解Object.defineProperty() 方法添加对象属性通过数据描述符创建通过存取描述符修改修改对象属性值通过数据描述符修改writable通过存取描述符修改配置对象属性configurableenumerable数据描述符中的属性默认值问题自定义一个getters和settersObject.defineProperty的应用监听对象上的多个属性深度监听一个对象Object.defineP
2022-03-09 23:16:22
1693
原创 git操作命令(三)
git操作进阶命令文章目录git操作进阶命令存储rebase变基tag标签远程操作ssh密钥存储存储暂存区及工作目录修改文件(仅限于已追踪的文件)git stash存储暂存区及工作目录修改文件(所有文件)git stash -u打印所有存储列表git stash list将存储内容重新应用(默认不保留已暂存内容)git stash apply <stashName>将原暂存依旧以暂存进行取出git stash apply --index
2022-03-07 22:33:04
188
原创 git操作命令(二)
git操作紧接命令文章目录git操作紧接命令分支操作查看分支创建分支切换分支合并分支快速前移合并分支禁止快速前移合并分支分支冲突不会发生冲突会发生冲突解决冲突取消合并删除分支撤销操作reset撤销修饰git reset操作checkout撤销reset 与checkout比较reset本质checkout本质分支操作git 的分支本质上仅仅是指向提交对象的可变指针。git默认分支名:master,它会在每一次的提交中自动前移。master分支并不是一个特殊分支,它和其他的分支完全没有区别,之所以每
2022-03-06 23:47:08
232
原创 git操作命令(一)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2022-03-05 21:57:27
212
原创 vue.js之路由Router(三)路由守卫的应用
路由守卫的应用组件导航的巧用除了应用于导航栏外,组件导航还可应用用去往详情页:组件内的守卫的应用比如在别的页面在离开当前页面之前,需要一些操作beforeRouteLeave(to, from, next) { if(to.name === "business_create") { ...... } } else{ next(); },beforeRouteUpdate、beforeRouteEnter用法相同全局守
2022-02-21 10:17:42
252
1
原创 二次封装axios,可实例化不同的请求配置
二次封装axios,可实例化不同的请求配置开发过程中,一个系统可能接入不同的后台服务,需要做不同的请求头等相关配置,简易再次封装axios,可传入不同参数进行实例化多个。import axios from 'axios';class HttpRequest { constructor(options) { this.defaults = { timeout: 5000, } this.defaults = Objec
2022-02-20 18:31:18
1629
原创 canvas(十一)合成与路径剪裁
合成与路径剪裁透明度合成 globalAlphaglobalAlpha 就是全局对象的透明度,全局对象就是canvas 的上下文对象。使用方法:ctx.globalAlpha=0.6;注意:globalAlpha 要和颜色里的rgba 区别一下。rgba 控制的是某种颜色的透明度;globalAlpha 相当于是让整个画布变透明了。const canvas=document.getElementById('canvas');//canvas充满窗口canvas.width=windo
2022-02-11 11:22:51
524
原创 canvas(十)图形交互
canvas图形交互canvas 图形没有监听事件的方法比如用鼠标选择图形时,我们只能用canvas 画布监听事件,获取鼠标或触摸点在canvas 中的位置,再基于图形在canvas 中的位置和形状,判断鼠标在canvas中的点位是否在图形中。获取canvas 中鼠标位置的方法canvas.addEventListener('mousedown', getPos);function getPos(event){ const {clientX,clientY}=event; c
2022-02-11 10:40:09
1111
原创 canvas(九)动画、补间动画
动画动画实现步骤清理画布:ctx.clearRect(0,0,canvas.width,canvas.height)保存 canvas 上下文对象的状态:ctx.save()绘制动画图形:…恢复 canvas 上下文对象的状态:ctx.restore()驱动动画的方法setTimeOut(fn,time) 和setInterval(fn,time)优点:使用方便,动画的时间间隔可以自定义。缺点:隐藏浏览器标签后,会依旧运行,造成资源浪费。与浏览器刷新频率不同步。reques
2022-02-10 11:26:04
489
原创 canvas(八)状态管理、变化
文章目录状态管理状态的嵌套变换时钟状态管理状态管理,管理的是上下文对象的状态。上下文对象的状态就是上下文对象的属性。比如描边颜色,填充颜色,投影,线条样式,变换信息…管理上下文状态的方法有两个:保存当前状态:save()恢复上一次保存的状态:restore()一般在我们绘制具备同一种样式的图形时,都会用save() restore() 将其包裹起来。这是为了避免当前的图形样式影响以后所要绘制的的图形样式。状态的嵌套a - save() b - save() restore()
2022-01-15 22:45:25
275
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人