优化相关技巧:
1:巧用Mixins(混入)
在页面中, mixins: [queryDocsMixin],进行使用。
Mixins的特点
1:方法和参数在组件中不共享
2:引入mixins后组件会对其进行合并,将mixins中的对象和方法拓展到当前组件中,当mixins中出现冲突时。
比如,数据对象在内部会进行递归合并,并在发生冲突时以组件数据优先 如果值为对象则组件优先,如果值为方法时优先调用mixins中的值。
例如:computed,methods,components值为对象,data,created() mounted()等为函数
2:自动化导入模块
require.context('./test', false, /.test.js$/) 接收三个参数:
1:directory {String} -读取文件的路径
2:useSubdirectories {Boolean} -是否遍历文件的子目录
3:regExp {RegExp} -匹配文件的正则
3:CDN引入
对于一些不常改动的模块库,例如: vue vueRouter vuex echarts element-ui 等, 我们让 webpack 不将他们进行打包,而是通过 cdn 引入,这样就可以减少代码大小,减少服务器带宽,并通过cdn将它们缓存起来,提高网站性能 。
4:Object.freeze()
对于一个巨大的对象或者数组,并且数据不会修改,使用Object.freeze()可以提高vue的渲染能力;
主要作用:
主要作用是将对象进行冻结,防止对象被修改,vue当中采用了数据劫持的方法遍历数据对象,把这些属性转化为setter,getter方法来监听并通知数据的变化,所以当你遇到一个巨大的数组或者对象,并且确定数据不会修改,这时就可以使用 Object.freeze() 方法来阻止vue对这个巨大数据的转化,,这可以让性能得到很大的提升,
5:协商缓存与强缓存
301表示永久重定向(301 moved permanently),表示请求的资源分配了新url,以后应使用新url。
302表示临时性重定向(302 found),请求的资源临时分配了新url,本次请求暂且使用新url。302与301的区别是,302表示临时性重定向,重定向的url还有可能还会改变。
303 表示请求的资源路径发生改变,使用GET方法请求新url。她与302的功能一样,但是明确指出使用GET方法请求新url。
状态码304的含义:
客户端发送 附带条件的请求,例如携带:if-matched,if-mofified-since,if-none-match,if-range,if-unmodified-since,