1.promise(已读)
2.axios(已读)
3.Vue发布订阅(已读)
4.Vue Diff 和 虚拟DOM:
-
Vue借鉴了snabbdom这个虚拟dom库,diff算法开元。
-
虚拟DOM:用js对象描述dom的层次结构。
-
新虚拟DOM和老虚拟DOM进行diff,算出最小更新量,最后反映到真实DOM之上。
-
DOM变为虚拟DOM为模板编译的内容。
-
h函数:用来产生虚拟节点。虚拟节点的属性:children、data、elm(还没被映射到dom树上面)、key、sel、text。
-
diff算法:比较只在同一个节点上面比较。选择器相同且key相同。一般使用的时候不会更改父节点,所以对效率的影响不大。只进行同层比较,不进行跨层比较。
-
虚拟dom变成真正dom。
-
虚拟DOM加上key才能实现最小量更新算法。
5.WebPack相关:
-
--save-dev会把安装的包和版本号记录到package.json中的devDependencies对象中,还有一个--save, 会记录到dependencies对象中,它们的区别,我们可以先简单的理解为打包工具和测试工具用到的包使用--save-dev存到devDependencies -
配置文件: -
文件入口
-
运行环境
-
使用的loader:针对哪些文件、使用哪些loader
-
文件打包路径和文件名
-
plugin 和 loader 的区别是,loader 是在 import 时根据不同的文件名,匹配不同的 loader 对这个文件做处理,
而 plugin, 关注的不是文件的格式,而是在编译的各个阶段,会触发不同的事件,让你可以干预每个编译阶段。
-
- 新的 chunk 是否被共享或者是来自 node_modules 的模块
- 新的 chunk 体积在压缩之前是否大于 30kb
- 按需加载 chunk 的并发请求数量小于等于 5 个
- 页面初始加载时的并发请求数量小于等于 3 个
6.几个经典布局:
7.手写了一下flex布局
8.vue组件通信
9.Vue的双向绑定原理: