- 标签:
- Vue (22)
- Javascript (20)
- TypeScript (18)
- Html (14)
- Css (13)
- Linux (12)
- Proxmox (7)
- React (7)
- 工具 (5)
- Mac设置 (5)
- Git (5)
- NextJS (5)
- Docker (3)
- 项目管理 (3)
- 建站 (2)
- 数学 (2)
- Vuex (2)
- 网络协议 (2)
- 代理 (2)
- PWA (2)
- 开发 (1)
- Vim (1)
- Java (1)
- Shell (1)
- 音乐 (1)
- IOS设置 (1)
在日常开发中,需要处理一些高并发的请求或者处理用户邮件认证等一些场景。那么就需要Redis了。 Redis 是一个开源的内存中数据结构存储系统,它可以用作数据库、缓存和消息中间件。
在日常的前端开发中,经常需要开发一些组件。通常我们是基于某个特定的框架来开发,例如vue,react等等。对于页面的样式组件来说,没有什么太多的计较。但是如果开发一个画布工具或者一个音乐播放器的组件,那么这个组件必然会有很多功能,而且对于vue2/vue3,react版本,你可能每个都要开发一遍。那么web-component的开发理念就非常适合目前的需求了。但是通常的web-cmponent的开发中,对于JS我们可以很好的管理,拆分功能。但是对于dom样式的编写就极其不方便了。
TypeScript中的装饰器是一种特殊的语法,可以用来修改类、方法、属性或参数的行为。装饰器是一种函数,它接收一个目标对象或一个属性描述符作为参数,并可以返回一个新的对象或属性描述符,或者不返回任何值。装饰器可以用来实现一些常见的编程模式,例如依赖注入、日志、缓存、验证等。
本文记录一下Vue3的一个基本的开发框架的搭建。主要在公司开发业务,主体框架不用每次都搭建。时间长了就容易忘记了,当初的框架如何搭建的。文章记录的框架搭建的主要实现功能如题,然后研究一些快捷的操作。例如,ts定义的空间自动导入等等。
前面主要是vue的源码仿写,最主要的是vue的响应式,以及依赖收集。是一个简易版本,和官方源码还是有很多细微差别的,例如数组代理之后改变数组长度,会触发更新之类的。数组还会被收集长度这种依赖关系,以及数组的一些splice,push,shift,unshift,pop这些方法重写,来完成修复一些数组在vue依赖更新中的BUG。
在页面编写中,之前都是使用reactive来包裹对象,这样对象属性的值改变,其对应的effect包裹渲染动作就会被触发。并且通常有函数解构的操作,例如let people = reactive({name:"张三",age:24}); let {name,age} = people;。如果这么结构操作的话,name和age就会变成普通的变量,那么如果在effect中使用的话,就算改变了值也不会触发回调函数。那么为了解决例如此类的需求,vue3提供了ref、toRef、toRefs。