Vuecli3之性能优化篇

1. 压缩项目大小

1. 编写vue.config.js。压缩生成的js文件。

const CompressionPlugin = require('compression-webpack-plugin');//引入gzip压缩插件

 configureWebpack: config => {
        return {
           plugins:[ new CompressionPlugin({//gzip压缩配置
            test:/\.js$|\.html$|\.css/,//匹配文件名
            threshold:10240,//对超过10kb的数据进行压缩
            deleteOriginalAssets:false,//是否删除原文件
            filename: '[path].gz[query]',
            algorithm: 'gzip',
            // test: productionGzipExtensions,
            // threshold: 2048,
            // minRatio: 0.8
          })]
        }

    },

2. 需要对服务器进行设置,使之支持gzip格式的js文件。

server {
            listen 88;
            server_name localhost;
 
            location / {
                gzip on;
                gzip_min_length 1k;
                gzip_buffers 16 64k;
                gzip_http_version 1.1;
                gzip_comp_level 9;
                gzip_types text/plain text/javascript application/javascript image/jpeg image/gif image/png application/font-woff application/x-javascript text/css application/xml;
                gzip_vary on;
                root html/subCharge;
                index index.html index.htm;
            }
 
            location /api {
                # rewrite  ^/apis/(.*)$ /$1 break;
                proxy_pass   http://47.92.34.130:8080/chargeSub/;
            }
 
         }

2. 路由懒加载

vue这种单页面应用,如果没有应用懒加载,运用webpack打包后的文件将会异常的大,造成进入首页时,需要加载的内容过多,时间过长,会出啊先长时间的白屏,即使做了loading也是不利于用户体验,而运用懒加载则可以将页面进行划分,需要的时候加载页面,可以有效的分担首页所承担的加载压力,减少首页加载用时。

3. 使用cdn的方式外部加载一些资源

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理