1. 长列表优化
对于大量的只读渲染数据,使用Object.freeze
冻结,使数据不被vue监听,节省了性能。
按需加载数据减少大量渲染
2. keepAlive组件不能缓存多级嵌套组件
keepAlive组件并不能对二级嵌套的路由进行缓存,需要在RouterView标签上加动态key即可解决
3. vue脚手架内网穿透需要配置devserver
使用netapp内网穿透,转发本机vue项目,发现浏览器打开报错:”无效的请求头“
查阅官网和实验后得出结论。
- 如果项目脚手架版本是<=4.x
module.exports = { devServer: { disableHostCheck: true } }
- 如果项目脚手架版本是=>5.x
module.exports = { devServer: { allowedHosts: "all" } }
4. 发布上线的优化项
- 关闭源码映射,加快打包速度,减少项目体积,避免源码泄露
- 压缩代码
- 抽离代码
- 关闭console
- 按需加载第三方库
- cdn引入
在index.html使用cnd引入。
在webpack中配置
该对象中key表示引入的cdn文件中的对象,后面的值是给项目用的名字。externals: { vue: "Vue", "vue-router": "VueRouter", vuex: "Vuex", },
这样打包后的代码体积就会非常小了。
通过vue-cli-service build --report
查看各包的大小