首页 > 其他分享 >vite打包中性能优化方面

vite打包中性能优化方面

时间:2023-05-20 10:03:27浏览次数:47  
标签:http text 压缩 js 添加 vite gzip 优化 打包

1、静态文件按类型分包

build中添加如下代码:

build: {
    rollupOptions: {
      output: {
        chunkFileNames: 'static/js/[name]-[hash].js',
        entryFileNames: 'static/js/[name]-[hash].js',
        assetFileNames: 'static/[ext]/[name]-[hash].[ext]',
      }
    }
  }

2、超大静态资源拆分

build里的output设置内,添加以下代码

manualChunks(id) {
          if (id.includes('node_modules')) {
            return id.toString().split('node_modules/')[1].split('/')[0].toString();
          }
        }

3、gzip静态资源压缩

3.1客户端开启:

npm i vite-plugin-compression -D
//引入
import viteCompression from 'vite-plugin-compression'
//在plugins配置数组里添加gzip插件
 plugins: [viteCompression({
    verbose: true,
    disable: false,
    threshold: 10240,
    algorithm: 'gzip',
    ext: '.gz',
  })]
//在niginx添加
  gzip_static on;

3.2服务端开启

//直接在nginx添加
      # 开启或者关闭gzip模块(on|off)
    gzip on;
    # 允许压缩的页面最小字节数, 默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大
    gzip_min_length 1k; 
    # 设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。例如 4 4k 代表以4k为单位,按照原始数据大小以4k为单位的4倍申请内存。
    gzip_buffers 4 16k; 
    # 识别http的协议版本。由于早期的一些浏览器或者http客户端,可能不支持gzip自解压,用户就会看到乱码,所以做一些判断还是有必要的。
    #gzip_http_version 1.0;
    # gzip压缩比,1 压缩比最小处理速度最快,9 压缩比最大但处理最慢(传输快但比较消耗cpu)。
    gzip_comp_level 2;
    # 匹配MIME类型进行压缩,(无论是否指定)"text/html"类型总是会被压缩的。
    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;
    # 和http头有关系,加个vary头,给代理服务器用的
    gzip_vary off;
    # 表示IE6及以下禁止压缩
    gzip_disable "MSIE [1-6]\.";

3.3 分析:

个人建议使用客户端压缩,减少服务器处理资源
可参考:链接

4、清除console和debugger

build里添加terserOptions配置

terserOptions: {
        compress: {
          drop_console: true,
          drop_debugger: true,
        },
      },

5、未完待续

参考文献

长风破浪会有时,直挂云帆济沧海



标签:http,text,压缩,js,添加,vite,gzip,优化,打包
From: https://blog.51cto.com/u_15726982/6317175

相关文章

  • 基于PSO优化的OFDM系统PAPR抑制PTS算法MATLAB仿真
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要       部分传输序列(PartialTransmitSequence,PTS)由于其不受载波数量限制,并且能够有效的,无失真的降低OFDM信号峰均比,而受到广泛关注。部分传输序列算法(PTS)最初是由S.H.Muller和J.B.H......
  • Create Vite App 支持 OpenTiny 啦
    大家好,我是Kagol,个人公众号:前端开源星球。一个月前,日日自新写了一篇介绍CreateViteApp开源项目的文章:基于vite4.x快速搭建开箱即用,高度可定制化模版脚手架CreateViteApp是基于esbuild+commander+ejs模板渲染进行开发脚手架,用于创建vite4.xtypescript5.xvite......
  • 记一次 Oracle 下的 SQL 优化过程
    1.介绍事情是这样的,UAT环境的测试小伙伴向我扔来一个小bug,说是一个放大镜的查询很慢,转几分钟才出数据,我立马上开发环境试了一下,很快啊我说......
  • 接口优化
    转载:https://mp.weixin.qq.com/s/0ez_mkyr0i4MZd7DEN7M8A 接口性能优化对于从事后端开发的同学来说,肯定再熟悉不过了,因为它是一个跟开发语言无关的公共问题。该问题说简单也简单,说复杂也复杂。有时候,只需加个索引就能解决问题。有时候,需要做代码重构。有时候,需要增加缓存。......
  • 【新作开发中】优化了对话逻辑
    优化了对话逻辑,使用常规RPG游戏中那样,点一次Next开始逐字显示,再点一次直接全文显示,再点一次Next开始逐字显示下一段对话。  ......
  • PHP性能优化工具篇Benchmark类调试执行时间
    这是PHP性能优化系列第二期,如何使用PEAR工具类Benchmark逐行获取代码或函数的执行时间。工欲善其事,必先利其器!如何安装PEAR和Benchmark请参考PHP性能优化系列第一期[PHP性能优化准备篇图解PEAR安装]Benchmark工具类包说明直接下载/package/Benchmark/downloadBenchmark工具类包共......
  • MySQL数据库的性能优化配置 五
    (一)减少数据库访问对于可以静态化的页面,尽可能静态化对一个动态页面中可以静态的局部,采用静态化部分数据可以生成XML,或者文本文件形式保存使用数据缓存技术,例如:MemCached (二)优化的检测方法1.用户体验检测2.Mysql状态检测在Mysql命令行里面使用showstatus命令,得到当前mysql状......
  • js 使用 eval 函数优化条件查询
    我们在写代码的使用,经常会遇到ifelse很长很长的代码,这种要怎么优化,一直是仁者见仁智者见智的我说下我的优化方案原始代码例如:if(income<=10000){ returnincome*0.365;}elseif(income<=30000){ return(income-10000)*0.2+35600;}elseif(income<=60000)......
  • Cloud Studio 内核升级之持续优化
    前言CloudStudio是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站。用户在使用CloudStudio时无需安装,随时随地打开浏览器就能使用。云端开发体验与本地几乎一样,上手门槛更低;具有极强的开放性,第三方平台通过我们提供的SDK,则可以方便地集成CloudS......
  • 数据库优化案例—某市中心医院HIS系统
    记得在自己学习数据库知识的时候特别喜欢看案例,因为优化的手段是容易掌握的,但是整体的优化思想是很难学会的。这也是为什么自己特别喜欢看案例,今天也开始分享自己做的优化案例。最近一直很忙,博客产出也少的可怜,今天整理了一下自己做过优化或各种方案的客户已经超过100家了,今......