vue框架设计分析

1. vue3为什么采用声明式

为什么vue没有和JQ一样,采用命令式来编写框架呢主要是考虑到可维护性,虽然命令式的写法更加直观,但是要维护实现目标的整个过程,包括dom的创建和删除,对于使用框架的用户来说,会带来较大的心智负担。

2. 虚拟dom一定会比直接操作dom性能更好么?

答案当然是不一定的。虚拟dom=找两次变化的差异+修改dom, 直接操作dom则会省略找差异的过程,所以只有在多次频繁操作dom,才会出线虚拟dom会比直接操作dom性能好的结论。

3. 框架设计的核心要素?

  1. 提升用户的开发体验
    主要是输出比较清晰的提示信息
  2. 控制框架的代码体积
    比如说在生产环境,去掉开发环境中的一些提示
  3. 要做到良好的Tree-Shaking
    将没用的组件在打包的时候shaking掉(rollup/webpack),要正确的使用
    /*#_PURE_*/
    
  4. 输出各种情况需要的构建产物
IIFE: 立即调用的函数表达式,主要是用于script的直接引入
ESM: 主要用于script type=module的时候
  1. 使用特性开关
    可以通过新增特性开关,将一些不常使用或者新的功能关闭,从而使用Tree-Shaking减小体积
  2. 良好的错误处理
    框架内部进行错误捕获,然后通过用户自定义的错误处理函数进行处理。现在看到的是vue内部也是用try catch封装了一个方法,进行错误捕获
  3. 良好的TS支持
    在这块,我们要明白,框架使用TS进行开发和良好的TS支持,是完全两个不同的级别

4. vue3的设计思路

虚拟dom —> 渲染器 —> 真实dom

猜你喜欢

转载自blog.csdn.net/qq_39544148/article/details/128737381