vue框架设计分析
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
1. vue3为什么采用声明式
为什么vue没有和JQ一样采用命令式来编写框架呢主要是考虑到可维护性虽然命令式的写法更加直观但是要维护实现目标的整个过程包括dom的创建和删除对于使用框架的用户来说会带来较大的心智负担。
2. 虚拟dom一定会比直接操作dom性能更好么
答案当然是不一定的。虚拟dom=找两次变化的差异+修改dom, 直接操作dom则会省略找差异的过程所以只有在多次频繁操作dom才会出线虚拟dom会比直接操作dom性能好的结论。
3. 框架设计的核心要素
- 提升用户的开发体验
主要是输出比较清晰的提示信息 - 控制框架的代码体积
比如说在生产环境去掉开发环境中的一些提示 - 要做到良好的Tree-Shaking
将没用的组件在打包的时候shaking掉(rollup/webpack)要正确的使用/*#_PURE_*/
- 输出各种情况需要的构建产物
IIFE: 立即调用的函数表达式主要是用于script的直接引入
ESM 主要用于script type=module的时候
- 使用特性开关
可以通过新增特性开关将一些不常使用或者新的功能关闭从而使用Tree-Shaking减小体积 - 良好的错误处理
框架内部进行错误捕获然后通过用户自定义的错误处理函数进行处理。现在看到的是vue内部也是用try catch封装了一个方法进行错误捕获 - 良好的TS支持
在这块我们要明白框架使用TS进行开发和良好的TS支持是完全两个不同的级别
4. vue3的设计思路
虚拟dom —> 渲染器 —> 真实dom