前端相关优化

161 阅读2分钟

优化相关技巧:

1:巧用Mixins(混入)

image.png 在页面中, mixins: [queryDocsMixin],进行使用。 image.png 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,