位置: IT常识 - 正文

vite打包配置(静态资源合并打包/清除log/gzip压缩/ENV配置等)(vnisedit 打包)

编辑:rootadmin
vite打包配置(静态资源合并打包/清除log/gzip压缩/ENV配置等)

推荐整理分享vite打包配置(静态资源合并打包/清除log/gzip压缩/ENV配置等)(vnisedit 打包),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vite打包工具,vite-plugin-components,vite怎么打包文件太大,vnisedit 打包,vsto打包,vite打包组件库,vite生产环境打包,vite打包组件库,内容如对您有帮助,希望把文章链接给更多的朋友!

2022/6/2更新

传了一下本项目代码,文章里写到的基本都有用到,可以clone了看一下

下载地址https://github.com/shinjie1210/vite-config.git----------------------------------------------------------------------------------------------------------------------------

本来准备接在之前的文章

vite+vue3+elementplus教程https://mp.csdn.net/mp_blog/creation/editor/122127233里面继续写的,但是看了下文章内容有点太多了,图多代码长的看的怪累的,

所以就在这里另开一篇记录了,都是一些比较基础的配置,记一下怕自己忘球了

/*各位如果看到有其他vite配置相关文章可以评论区分享一下,私信分享给我也行,大家一起研究学习,感谢*/

目录

1.静态资源合并打包

 2.静态资源文件分拆

2.1提高超大静态资源警告门槛  

2.2超大静态资源拆分

3.gzip静态资源压缩

 4.清除console和debugger

5.IE和旧版chrome兼容

未完待续,目前项目(a-project)的vite配置代码如下


1.静态资源合并打包

我们直接就接这上篇文章里vite.config的内容开写啊,

我们把之前的代码贴在这里,

不了解前面内容为什么这么写的的点链接过去看一下就行vite+vue3+elementplus教程(更新到项目部署上线前准备)https://mp.csdn.net/mp_blog/creation/editor/122127233

import { defineConfig, loadEnv} from 'vite'import vue from '@vitejs/plugin-vue'import Components from 'unplugin-vue-components/vite'import AutoImport from 'unplugin-auto-import/vite'import { ElementPlusResolver} from 'unplugin-vue-components/resolvers'// https://vitejs.dev/config/export default defineConfig({ base: '/aProject/', plugins: [vue(), AutoImport({ resolvers: [ElementPlusResolver()], }), Components({ resolvers: [ElementPlusResolver()], }), ]})

那么书接上回,直接运行vite run build 打包出来的文件非常杂乱,可能就像这样

如果只是写点简单的小demo倒是没什么,正儿八经写项目就不可以了,

所以我们要对静态资源打包做处理,在defineConfig里添加build设置

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

 那么我们来测试一下效果

npm run build

 显然整齐多了,看着也舒服些

 2.静态资源文件分拆

注意:

此处用了其他项目文件来举例,

之前用来举例的项目(a-project)没引用什么插件,eleplus也是按需引入的,没办法复现警报场景,

主要在这里介绍用法,静态资源相关写完之后会用回项目(a-project)

现在我们演示的只是个小项目,正常项目里可能会引入非常多的插件来实现功能,

打包是就会出现文件过大的警告,例如我拿来举例子的这个项目

vite打包配置(静态资源合并打包/清除log/gzip压缩/ENV配置等)(vnisedit 打包)

引入了诸如视频\声纹\elementplus(非按需自动引入)等组件,在打包时就出现了这种情况

 (!) Some chunks are larger than 500 KiB after minification. Consider: - Using dynamic import() to code-split the application - Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/guide/en/#outputmanualchunks - Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.

超过500k就报警,然后这里有个1mb多的巨无霸在这里看着你= =

这时候我们有两个处理方案:

2.1提高超大静态资源警告门槛  

我们先来说简单方案,不是超过500k就报警吗,

那我提高报警限制就好了啊,所以我们把警告限制提高到1500kb

我们在build设置里添加一行代码,像这样

build:{ chunkSizeWarningLimit: 1500,//其他配置这里就省略了 减少点重复代码长度 }

然后我们run build

 巨无霸还在,但是不再报警告了

但是这他妈不是掩耳盗铃吗?所以我们要采用第二种方法

2.2超大静态资源拆分

还是老样子,我们在build里的output设置内,添加以下代码

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

再次run build 文件就被拆开了,而不是所有引入的js都糊在一起拼巨无霸了

 但是还是有个300多kb的视屏插件和500多kb的eleplus....所以按需引入eleplus和选择合适的插件还是很重要的

3.gzip静态资源压缩

那么大文件也不能放任自流,我们还是可以通过gzip压缩来处理一下的

先安装插件,控制台输入

npm i vite-plugin-compression -D

然后修改vite.congfig.js页面,引入并在plugin内使用

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

run build 运行一下,惊喜大大的,大文件压缩效率喜人

 4.清除console和debugger

这一步比较简单,在build里添加terserOptions配置即可

terserOptions: { compress: { drop_console: true, drop_debugger: true, }, },5.IE和旧版chrome兼容

首先在这里祝福还在非被迫情况下坚持使用IE和旧版chrome的人____,使用落后产品上瘾吗?

那么兼容主要就是安装一个插件,我们控制台输入

npm i @vitejs/plugin-legacy -D

然后老样子,去vite.config.js页面引入和使用

//引入import legacyPlugin from '@vitejs/plugin-legacy'//在plugins配置数组里添加legacy插件 plugins: [legacyPlugin({ targets: ['chrome 52'], // 需要兼容的目标列表,可以设置多个 additionalLegacyPolyfills: ['regenerator-runtime/runtime'] // 面向IE11时需要此插件 })],

那么这样你的代码就可以兼容淘汰产品了

今天就写到这里,太累了写不动了

未完待续,目前项目(a-project)的vite配置代码如下import { defineConfig, loadEnv} from 'vite'import vue from '@vitejs/plugin-vue'import Components from 'unplugin-vue-components/vite'import AutoImport from 'unplugin-auto-import/vite'import viteCompression from 'vite-plugin-compression'import { ElementPlusResolver} from 'unplugin-vue-components/resolvers'import legacyPlugin from '@vitejs/plugin-legacy'export default defineConfig({ base: '/aProject/', plugins: [vue(), AutoImport({ resolvers: [ElementPlusResolver()], }), Components({ resolvers: [ElementPlusResolver()], }), viteCompression({ //gzip压缩 verbose: true, disable: false, threshold: 10240, algorithm: 'gzip', ext: '.gz', }), legacyPlugin({ targets: ['chrome 52'], // 需要兼容的目标列表,可以设置多个 additionalLegacyPolyfills: ['regenerator-runtime/runtime'] // 面向IE11时需要此插件 }) ], build: { terserOptions: { compress: { drop_console: true, drop_debugger: true, }, }, // chunkSizeWarningLimit: 1500,大文件报警阈值设置,不建议使用 rollupOptions: { output: { //静态资源分类打包 chunkFileNames: 'static/js/[name]-[hash].js', entryFileNames: 'static/js/[name]-[hash].js', assetFileNames: 'static/[ext]/[name]-[hash].[ext]', manualChunks(id) { //静态资源分拆打包 if (id.includes('node_modules')) { return id.toString().split('node_modules/')[1].split('/')[0].toString(); } } } } }})
本文链接地址:https://www.jiuchutong.com/zhishi/269864.html 转载请保留说明!

上一篇:宽带测速器在线测网速多少兆宽带?(宽带测速器在线测速)

下一篇:新版Edge浏览器如何调整标签页指定睡眠时间(新版edge浏览器文字不显示)

  • 为什么有的网站文章很差,却能排在首页?(为什么有的网站安卓可以打开,苹果打不开)

    为什么有的网站文章很差,却能排在首页?(为什么有的网站安卓可以打开,苹果打不开)

  • 如何找回访问过的网站(如何找回访问过的网站注册信息)

    如何找回访问过的网站(如何找回访问过的网站注册信息)

  • 迎接九月的唯美句子(迎接九月的唯美句子)(迎接九月的唯美句子)

    迎接九月的唯美句子(迎接九月的唯美句子)(迎接九月的唯美句子)

  • 荣耀60有没有无线充电功能(荣耀60有没有无线)

    荣耀60有没有无线充电功能(荣耀60有没有无线)

  • iphonexr信号不好怎么办(iphonexr信号差的不行)

    iphonexr信号不好怎么办(iphonexr信号差的不行)

  • 华为qq下载的文件在哪里(华为qq下载的文件在哪个文件夹)

    华为qq下载的文件在哪里(华为qq下载的文件在哪个文件夹)

  • 手机qq怎么自动刷屏(手机qq怎么自动登录)

    手机qq怎么自动刷屏(手机qq怎么自动登录)

  • k30变焦版和标准版有什么区别(变焦版 标准版 k30pro)

    k30变焦版和标准版有什么区别(变焦版 标准版 k30pro)

  • qq语音正在通话中什么意思(qq语音正在通话然后别人再打一个)

    qq语音正在通话中什么意思(qq语音正在通话然后别人再打一个)

  • 安装软件在c盘还是d盘(安装软件在c盘哪个文件夹)

    安装软件在c盘还是d盘(安装软件在c盘哪个文件夹)

  • 苹果x可以指纹识别吗(苹果14可以设置指纹吗)

    苹果x可以指纹识别吗(苹果14可以设置指纹吗)

  • ddr4开启xmp后无法启动(ddr4 xmp)

    ddr4开启xmp后无法启动(ddr4 xmp)

  • 华为畅享10plus卡槽怎么打开(华为畅享10plus卡不卡)

    华为畅享10plus卡槽怎么打开(华为畅享10plus卡不卡)

  • AirPodspro突然有吱吱的声音(AirPodspro突然有杂音)

    AirPodspro突然有吱吱的声音(AirPodspro突然有杂音)

  • 模拟摄像头和数字摄像头的区别(模拟摄像头和数字摄像头接线区别)

    模拟摄像头和数字摄像头的区别(模拟摄像头和数字摄像头接线区别)

  • 电话通话记录能查多长时间的(电话通话记录能查到通话内容吗)

    电话通话记录能查多长时间的(电话通话记录能查到通话内容吗)

  • 怎么检测电脑能不能装win10(怎么检测电脑能不能装win11)

    怎么检测电脑能不能装win10(怎么检测电脑能不能装win11)

  • 笔记本能连蓝牙音响吗(笔记本能连蓝牙鼠标吗)

    笔记本能连蓝牙音响吗(笔记本能连蓝牙鼠标吗)

  • realme x2怎么更换来电铃声(realmeq2换屏幕教程)

    realme x2怎么更换来电铃声(realmeq2换屏幕教程)

  • 新版soul怎么隐身(soul怎么隐藏所有瞬间)

    新版soul怎么隐身(soul怎么隐藏所有瞬间)

  • iqoopro怎么开启省电模式(iqoopro怎么开启3g)

    iqoopro怎么开启省电模式(iqoopro怎么开启3g)

  • 苹果手机查找朋友位置不可用是什么情况(苹果手机查找朋友在哪里)

    苹果手机查找朋友位置不可用是什么情况(苹果手机查找朋友在哪里)

  • 企业微信如何导出考勤(企业微信如何导出考勤表)

    企业微信如何导出考勤(企业微信如何导出考勤表)

  • ie浏览器如何更新升级(ie浏览器如何更改下载位置)

    ie浏览器如何更新升级(ie浏览器如何更改下载位置)

  • kindle和手机同步不了(kindle手机同步kindle)

    kindle和手机同步不了(kindle手机同步kindle)

  • 伯里圣埃德蒙兹镇的修道院公园,英国萨福克郡 (© Charles Martinez/Amazing Aerial Agency)(伯里圣埃德蒙兹的人口)

    伯里圣埃德蒙兹镇的修道院公园,英国萨福克郡 (© Charles Martinez/Amazing Aerial Agency)(伯里圣埃德蒙兹的人口)

  • 增值税进项发票当月未开,怎么办
  • 先开票,后发货怎么处理
  • 社保怎么进行账单查询
  • 发票超过三个月不能开
  • 合伙律师事务所的合伙人必须是
  • 员工向用人单位签加班协议书范本
  • 建筑劳务公司业务范围是什么
  • 金银首饰在哪个平台买比较好
  • 企业弥补亏损的三个途径
  • 工业企业购进货物进项税额抵扣的时限
  • 房地产开发企业会计科目
  • 建筑类没收入怎么填
  • 长期股权投资的减值准备的会计处理
  • 土地罚款可以计入成本吗?
  • 个体没有地址怎么办理执照
  • 如何开具红字专用发票信息表
  • 财务杠杆系数取值范围
  • 协方差cov计算公式展开
  • 更正申报增值税会产生滞纳金吗
  • 其他应付款社保贷方余额怎么冲平
  • 没收到发票可以勾选认证吗
  • 单位缴交的社保和医保还要交其他费用吗
  • 劳务分包简易计税可以抵扣吗
  • 合伙企业收到对公转账
  • 所得税a类申报表
  • 员工高温补贴奖励怎么写
  • 查账征收的个独可以随意分配利润吗
  • 天猫积分购物券怎么获得
  • Win10新版21364发布: 可直接运行Linux图形程序
  • 公司支付的赔偿金要扣税吗
  • php面向对象优点,缺点
  • php字符串定义的三种方式
  • 进口应税消费品会计分录
  • 股权转让交易税计税依据是什么
  • uniapp怎么开启路由拦截
  • 准公益性企业
  • 机器学习篇-指标:AUC
  • 【历史上的今天】4 月 7 日:IBM System/360 问世;以太网的发明者诞生;第一个 RFC 文档发布
  • html在线小游戏
  • mysqldump 导出数据
  • 织梦怎么添加相关
  • 如果企业一直亏损不交所得税会被税局稽查吗
  • 哪些情形需要办理会计工作交接
  • 为什么分红不影响损益
  • 以前年度多计提折旧
  • 企业的业务招待费属于什么费用
  • 固定资产分期付款会计处理?
  • 个体工商户季开票30万是否缴纳个人所得税
  • mysql主从配置详解
  • 电子发票开错了应该怎么办?
  • mysql内存使用率过高
  • 基本社会保险制度范围
  • 出租机械设备
  • 企业专项资金购买固定资产
  • 小规模纳税人进项票可以抵扣吗
  • 已抵扣未申报的税额如何转出
  • 发票逾期未抵扣怎么办
  • 电影赠票怎么用
  • 购买办公室家具
  • 电子发票不小心删掉了怎么办
  • 员工借款怎么处理
  • 小规模纳税人如何申请专票
  • 交易性金融资产公允价值变动计入
  • 应收账款的政策
  • sqlserver正则表达式替换列
  • ubuntu虚拟机怎么用
  • linux中的find的用法
  • SetPoint.exe - SetPoint是什么进程 有什么用
  • 您的服务器不支持此服务
  • win7系统运行红警黑屏有声音
  • unity如何操作
  • jquery注释有哪几种
  • nodejs requirejs
  • 东莞为什么这么多人
  • 车位过户需要契税发票吗
  • 低丰度油气田开采的原油
  • 江苏单位医保如何查询
  • 安徽工作人员出差费用标准
  • 深圳关内停车场收费标准
  • 税务局的纳税服务中心是干什么的
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设