美文网首页vue工作生活
Vue3.X + TS 打包后文件过大的加载优化

Vue3.X + TS 打包后文件过大的加载优化

作者: 钱英俊真英俊 | 来源:发表于2019-07-01 14:27 被阅读7次

不上TS的话,打包过大的体积主要是Element、Vue以及moment等一下第三方插件,直接外部CDN引入,就能有效的减小体积了,参看Webpack外部引入Element和Vue

  • 然而上了TS,再直接外部引入,会造成没有types文件,编辑器各种报错。现在还没明白TS的声明文件的原理,只能想别的办法了。

1. 拆分Element 和 Vue 文件

vue.config.js配置

module.exports = {
  publicPath         : './',
  productionSourceMap: false, // 关闭sourceMap     
  configureWebpack: {   // Webpack配置             
    devtool     : 'none',     // webpack内关闭sourceMap                   
    optimization: {   // 优化配置                           
      splitChunks: {
        chunks     : 'all',
        cacheGroups: {
        // 拆分Vue
          vue: {
            test: /[\\/]node_modules[\\/]vue[\\/]/,
            name: 'chunk-vue'  
          },
        // 拆分Element
          element: {
            test: /[\\/]node_modules[\\/]element-ui[\\/]/,
            name: 'chunk-element'
          }
        }
      }
    }
  }
}

打包后文件


虽然拆分了,但Element还是有1.6M,超严重影响加载速度。话说Vue 上了TS之后打包体积真的是比以前大太多了。而且还没研究好如何在TS项目中引入外部文件,所以只能把主意打到服务器上。

2. 服务器nginx开启gzip

  • 看下打包后的图片,最右有一行Gzipped大小,element从1.6M给压到了274k,妥妥的。
  • nginx的配置文件中加入
#开启和关闭gzip模式
    gzip on|off;
    
    #gizp压缩起点,文件大于1k才进行压缩
    gzip_min_length 1k;
    
    # gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间
    gzip_comp_level 1;
    
    # 进行压缩的文件类型。
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript ;
    
    #nginx对于静态文件的处理模块,开启后会寻找以.gz结尾的文件,直接返回,不会占用cpu进行压缩,如果找不到则不进行压缩
    gzip_static on|off
    
    # 是否在http header中添加Vary: Accept-Encoding,建议开启
    gzip_vary on;

    # 设置压缩所需要的缓冲区大小,以4k为单位,如果文件为7k则申请2*4k的缓冲区 
    gzip_buffers 2 4k;

    # 设置gzip压缩针对的HTTP协议版本
    gzip_http_version 1.1;

看下浏览器返回,OK


相关文章

  • Vue3.X + TS 打包后文件过大的加载优化

    不上TS的话,打包过大的体积主要是Element、Vue以及moment等一下第三方插件,直接外部CDN引入,就能...

  • 复习3

    vue路由懒加载 1.vue路由懒加载解决的什么 问题:解决打包后文件过大的问题,从而优化页面加载,提升性能 注意...

  • vue首屏加载优化

    1.异步路由加载 2.不打包库文件 spa首屏加载慢,主要是打包后的js文件过大,阻塞加载所致。那么如何减小js的...

  • Vue 网站首页加载优化

    Vue 网站首页加载优化 本篇主要讲解 Vue项目打包后 vendor.js 文件很大 如何对它进行优化 以及开启...

  • 博客网站首页加载优化

    Vue 网站首页加载优化 本篇主要讲解 Vue项目打包后 vendor.js 文件很大 如何对它进行优化 以及开启...

  • vue项目优化

    vue 项目优化 项目打包体积优化 通常vue项目通过webpack打包后,会出现vendor包的体积过大的情况,...

  • iOS m3u8详情页预加载逻辑

    详情页m3u8预加载需求:加载完当前模板所有ts后,加载后续2个模板的2个ts文件 初步规划: (1)当前加载时传...

  • vue 打包文件体积过大优化

    vue[打包的chunk-vendors.xxx.js文件过大导致加载过慢问题] 因app首页加载不流畅,于是去检...

  • 前端打包部署优化之gzip

    使用webpack打包出来的文件过大,导致访问速度极其慢,搜索webpack打包优化,能够看到很多前辈的建议:gz...

  • vue路由组件(同步加载换异步加载)

    同步加载组件如图: 由于打包后文件大所以优化路由组件的处理用(路由懒加载)也可以说异步加载如图:

网友评论

    本文标题:Vue3.X + TS 打包后文件过大的加载优化

    本文链接:https://www.haomeiwen.com/subject/kjegcctx.html