大神说的目标:Vue 挑战20k+
组件间通信
component 官网 详解
组件间的传递方式:
- 父传子 直接属性传递
- 子传父 this.$emit 时间传递兄弟组件 利用父组件搭桥
- 组件和子孙 provide / inject
- 子孙 -> 祖先 this.$dispatch 或provide 获取组件元素实例
- $listeners $attrs //很少用
- 没有明显关系 event-bus 或者 vuex
- 仿造element-ui 的k-form
K-form -K-form-itemK-input
查看vue源码的路径
vue源码 -> package.json -> build->config.js->web-full-esm.js
温馨提示:任何功能,都要使用源码级别
ssr 思考ssr问题
1.项目有两个入口 web server
2.解决问题首屏渲染,和seo问题
1.两个入口路由的统一
2.vuex 的数据统一
3.报错的统一
4.css 的统一
1.大部分ssr 都考虑到了
5.同构就是把浏览器解析vue的计算,放在了服务器上,所有收评出来完成dom,加大服务器的压力
6.高流量,怎么办
1.降级成csr。 (手动配置,服务器性能监控阀值,服务端渲染报错)
2.负载均衡 加机器
补充:SSR 和CSR是什么
SSR:Server side render 将组件或页面通过服务器生成html字符串,再发送到浏览器,简单理解下来,发了一个请求,服务器返回的不是接口数据,而是一整个页面的HTML结构,再结合界面之前定义的CSS把页面展示出来;VUE 服务器渲染文档 。
CSR:Client side render通过接口请求数据,前端通过JS动态处理和生成页面需要的结构和页面展示
Vue 权限
1.页面的权限
1.路由涞源,路由分成两个数组
1.固定的路由,和权限无关
2.权限路由addRoutes 动态添加页面,动态路由表
3.通过配置 path,compontent,meta,{role:’admin’.’user’,’boss’,’sales'}
4.路由守卫token来判定
2.按钮层级的权限 (利用自定义指令)
另外老师介绍了一下利用二进制流的方式去判断文件的后缀
利用md5校验分片上传
1.切片
2.通过前端切片md5校验文件是否传递过后段
3.并发数控制,以及失败后的自启动
vue 怎么能够凸显出来自己的实力
任何一个需求或者框架都能分级,分出10k、20k、30k、40k...你自己的亮点,i比别人强的地方,让面试官爱上你的地方
- Vue api使用,其实没啥亮点
- 原理源码上的升级:vue的vdom和react的vdom有啥区别
- 业务复杂、流量大了之后的解决方案
文件上传
- 10k :axios.post + 进度条 + 拖拽+粘贴
- 15k:断点续传,其他大数据量
- 20k:计算md5的优化,web-worker 切片hash
- 25k:切片上传的并发数,并且某个切片的报错,允许重试3次
- 30k:文件切片大小如何和网络速度匹配,彩英TCP的慢启动逻辑
- vue原理
面试造火箭、工作宁落实,很常见的
算法和数据结构的理解:
- vdom树形结构、
- keep-alive,lri缓存的设计(链表)
- 设计模式k-form 策略模式实现
- 软件工程