1.尽量使用懒加载

主要是路由懒加载、组件懒加载、图片懒加载。

  • 路由懒加载:首屏进入时直接加载和首屏相关路由,其他路由实现懒加载,即打开该路由时再去加载。
  • 组件懒加载:const One = ()=>import("./one");
  • 图片懒加载:使用vue-lazyload插件。
2.尽量不生成map文件

在vue.config.js配置:

module.exports = {
    productionSourceMap: false, // 生产环境是否生成 sourceMap 文件,一般情况不建议打开
}

在设置了productionSourceMap: false之后,就不会生成map文件,map文件的作用在于:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错。也就是说map文件相当于是查看源码的一个东西。如果不需要定位问题,并且不想被看到源码,就把productionSourceMap 置为false,既可以减少包大小,也可以加密源码。我们一般开发模式打开,生产模式要记得关闭掉。

3.尽量减少js/css/html等文件的大小

webpack开启gzip压缩文件传输模式,gizp压缩是一种http请求优化方式,通过减少文件体积来提高加载速度。html、js、css文件甚至json数据都可以用它压缩,可以减小60%以上的体积。

4.CDN加速

使用用户访问资源会找离自己物理距离最近的站点去获取资源。

修改vue.config.js:

module.exports = {
    ...
    externals: {
        'vue': 'Vue',
        'vuex': 'Vuex',
        'vue-router': 'VueRouter',
        'element-ui': 'ELEMENT'
    }    
}
5.HTTP加速优化

使用HTTP缓存机制,对不常改变的资源设置合适的缓存策略。

6.代码分割

使用webpack的代码分割特性,将应用分割成多个代码块,这样可以减少首屏加载的代码量。