webpack项目首屏加载优化方案

581 阅读1分钟

webpack项目首屏加载优化方案

一、使用CDN优化首屏加载 (以vue-cli3为例)

在Vue项目中,引入到工程中的所有js、css文件,编译时都会被打包进vendor.js,浏览器在加载该文件之后才能开始显示首屏。若是引入的库众多,那么vendor.js文件体积将会相当的大,影响首开的体验。

1.在项目根文件index.html中引入所需js。

66.png

2.在vue.config.js中修改配置。

config.externals = {

            'vue': 'Vue',

            'vue-router': 'VueRouter',

            'element-ui':'Element',

            'moment':'moment',

            'view-design':'iview'

        }

3.png

3.去掉原有的引用。

去掉import,去掉Vue.use(XXX) 或者下载对应js,css放入本地文件夹。 以绝对路径引入

4.png

5.png

6.png

二、优化chunk-vendors (以vue-cli3为例)

  这个优化是两方面的,前端将文件打包成.gz文件,然后通过nginx的配置,让浏览器直接解析.gz文件。

1.compression-webpack-plugin插件打包.gz文件

7.png

2.vue.config.js配置插件

8.png

config.plugins.push(new CompressionWebpackPlugin({

       algorithm: 'gzip',

       test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'),

       threshold: 10240,

       minRatio: 0.8

 }))

3.nginx配置

9.png

# gzip config
    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 9;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
    gzip_disable "MSIE [1-6].";

三、代码优化 uglifyjs-webpack-plugin(以vue-cli3为例)。

1.安装

npm install uglifyjs-webpack-plugin --save

2.使用

在 vue.config.js 文件中进行配置

config.plugins.push(

     new UglifyJsPlugin({             

         sourceMap: false,

          parallel: true,

        })      

 )

10.png

测试结果

11.png

12.png

参考文章 【感谢】

1. blog.csdn.net/weixin_3415…

2. www.jianshu.com/p/957ed8a7c…

3. www.jianshu.com/p/d95fd59bb…