Vue.js 源码的入口主要做了些什么处理?
Vue.js 中的数据劫持是怎么实现的?浏览器兼容性呢?
Vue.js 中的依赖收集是怎么处理的?和闭包有什么关联吗?
Vue.js 中的模板解析需要经历哪几个阶段?
Vue.js 中的虚拟节点优势是什么?
Vue.js 中的 DIFF 算法是怎么处理的?
Vue.js 中 DIFF 算法的时间复杂度是多少?为什么?
Vue.js 中computed/watch实现的原理是什么?
Vue.js 中有哪些周期函数?这些周期函数都是在什么时机执行的?
Vue.js 中的$nextTick的原理是什么?它主要经历了哪些变化?为什么?
Vue.js 对 DOM 的更新做了哪些标记优化处理?
Vue.js 在语法层面可以做哪些优化处理?
Vue.js 2.x 中的 Proxy 代理主要做了些什么工作?
Vue.js 2.x 中如何支持 TypeScript ?
Vue 3.x 的源码相对 Vue 2.x 主要做了哪些变化?
Vue.js 中的 M / V / VM 分别指的是哪些?
Vue-loader 主要有哪些特性?
Vue.js 如何做 ESLint 校验?
Vue.js 如何做单元测试?
了解过 Vue-Router / Vuex 的源码吗?(感知性问题,不会深入问)
发布 / 订阅模式和观察者模式的区别是什么?
手写一个发布 / 订阅模式?
简述 MVC / MVP / MVVM 的区别?
如果熟悉 Nuxt 等可能会问 SSR 的实现原理?
平常遇到 Vue.js 报 error / warning 的时候有深入追踪错误栈的习惯吗?
Vue 2.x 中的数据劫持能否采用发布 / 订阅模式实现?采用观察者模式带来的优势和劣势有哪些?
Vue 的整个框架的实现原理大致可分为哪几个部分?
作者:子弈
链接:https://juejin.im/post/5e6ebfa86fb9a07ca714d0ec
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1. vue-cli技术栈: vue-cli插件 && vue脚手架 && vue-cli源码
2.vue整个实现原理
3.vue组件间通信
4.$nextTick 执行的时机和 DOM 渲染的关系
5.keep-alive
6. vue的性能优化
keep-alive
路由懒加载[实现原理]
Preload / Prefetch
key
响应式依赖扁平化
减少非必要的响应式依赖
Object.freeze
DOM 滚动加载
v-if / v-show
computed / watch
事件销毁(防止内存泄漏)
组件按需引入
预渲染
按需 Polyfill
模板预编译
渲染函数
官方风格指南 + 官方 ESLint 插件
组件库按需加载: Single Npm && Lerna && Multi Entry Syntax
~设计和维护公司的组件库
完整引入 / 按需引入
构建流程设计
单元测试
输出模式(umd / commonjs2 / es6)
样式构建
国际化 / 工具
ESLint / Prettier / Stylint
TypeScript(声明) / JavaScript
Webpack 配置 / Webpack 分析
Babel 处理
Polyfill 注意点
Markdown 演示 & CI
三方库处理方式
浏览器兼容性
Autoprefixer
Lerna / Single Npm / Multiple Npm
Single Npm & Template
Git 钩子处理 & Git 规范
语义化版本规范
团队 / 范围 / 开发规范 / 代码 Review
作者:子弈
链接:https://juejin.im/post/5e6ebfa86fb9a07ca714d0ec
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Vue CLI 3结合Lerna进行UI框架设计