vue面试题目、性能优化,spa理解
36. Vue的性能优化有哪些
(1)编码阶段
●尽量减少data中的数据,data中的数据都会增加getter和setter,会收集对应的watcher
●v-if和v-for不能连用●
如果需要使用v-for给每项元素绑定事件时使用事件代理
●SPA 页面采用keep-alive缓存组件
●在更多的情况下,使用v-if替代v-show
●key保证唯一
●使用路由懒加载、异步组件
●防抖、节流
●第三方模块按需导入
●长列表滚动到可视区域动态加载
●图片懒加载(2)SEO优化
●预渲染
●服务端渲染SSR(
3)打包优化
●压缩代码
●Tree Shaking/Scope Hoisting
●使用cdn加载第三方模块●
多线程打包happypack
●splitChunks抽离公共文件
●sourceMap优化
(4)用户体验
●骨架屏
●PWA
●还可以使用缓存(客户端缓存、服务端缓存)优化、服务端开启gzip压缩等。
编码阶段
尽量减少data当中的数据,data当中的数据都会增加getter和setter会收集对应的watcher
v-if和v-for不能连用,如果需要使用v-for给每一项元素绑定事件的时候使用事件代理
spa页面采用leep-alive缓存
key保持唯一
路由懒加载,异步组件
防抖和节流
第三方模块按需导入
长列表滚动到可是区域动态加载,图片懒加载、
splitCHunks抽离公共文件s\ourceMap优化
对 SPA 单页面的理解,它的优缺点分别是什么
sPA( single-page application )仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转;取而代之的是利用路由机制实现 HTML 内容的变换,UI 与用户的交互,避免页面的重新加载。 优点: ●用户体验好、快,内容的改变不需要重新加载整个页面,避免了不必要的跳转和重复渲染; ●基于上面一点,SPA 相对对服务器压力小; ●前后端职责分离,架构清晰,前端进行交互逻辑,后端负责数据处理; 缺点: ●初次加载耗时多:为实现单页 Web 应用功能及显示效果,需要在加载页面的时候将 JavaScript、CSS 统一加载,部分页面按需加载; ●前进后退路由管理:由于单页应用在一个页面中显示所有的内容,所以不能使用浏览器的前进后退功能,所有的页面切换需要自己建立堆栈管理; ●SEO 难度较大:由于所有的内容都在一个页面中动态替换显示,所以在 SEO 上其有着天然的弱势。
spa仅当web页面初始化的时候加载响应的html,ajavscript和css,一旦页面加载完成,spa不会因为用户的操作而进行页面的重新加载或者跳转,曲儿呆滞的是利用路由机制实现html内容的变化,
缺点:
初次加载耗时多,为了实现单页web应用功能以及显示效果,需要再加载页面的时候将javascript和css同一加载,部分页面按需加载
前进后退路由:由于单一应用再一个页面当中显示所有的内容跟,所以不能使用浏览器的前进后退的功能,所有的页面切换都需要自己简历堆栈管理