位置: 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浏览器文字不显示)

  • 内容营销VS社会化媒体营销,到底有啥区别?(内容营销与传统营销)

    内容营销VS社会化媒体营销,到底有啥区别?(内容营销与传统营销)

  • 魅族18x是什么处理器(魅族 18x)

    魅族18x是什么处理器(魅族 18x)

  • 华为笔记本office怎么激活(华为笔记本office不激活有什么影响)

    华为笔记本office怎么激活(华为笔记本office不激活有什么影响)

  • 华为nova7pro电池是多大毫安(华为nova7pro电池多少钱一块)

    华为nova7pro电池是多大毫安(华为nova7pro电池多少钱一块)

  • 960显卡2g和4g的区别(960显卡2g和4g的区分)

    960显卡2g和4g的区别(960显卡2g和4g的区分)

  • 华为手机忘记了自己设置的密码怎么办(华为手机忘记了密码怎么解锁)

    华为手机忘记了自己设置的密码怎么办(华为手机忘记了密码怎么解锁)

  • 苹果11刷机按什么键(苹果刷机按什么键)

    苹果11刷机按什么键(苹果刷机按什么键)

  • oppo指纹解锁特效怎么设置(oppo手机指纹锁)

    oppo指纹解锁特效怎么设置(oppo手机指纹锁)

  • 苹果7能用电信卡吗(苹果手机用不了电信卡是什么原因)

    苹果7能用电信卡吗(苹果手机用不了电信卡是什么原因)

  • 微信验证消息过于频繁要等多久(微信验证消息过期了还可以加吗)

    微信验证消息过于频繁要等多久(微信验证消息过期了还可以加吗)

  • 爱奇艺免流量什么意思(爱奇艺的免流量是什么)

    爱奇艺免流量什么意思(爱奇艺的免流量是什么)

  • p30可以无线充电吗(p30可以无线充电不)

    p30可以无线充电吗(p30可以无线充电不)

  • 域名就是网址对吗(域名就是网址的意思吗)

    域名就是网址对吗(域名就是网址的意思吗)

  • 快手作品下载到本地去哪找(快手作品下载到相册没有音乐)

    快手作品下载到本地去哪找(快手作品下载到相册没有音乐)

  • 企业微信群直播能看到学生吗(企业微信群直播怎么开)

    企业微信群直播能看到学生吗(企业微信群直播怎么开)

  • ipad可以边充边玩吗(ipad可以边充电边玩吗安全吗)

    ipad可以边充边玩吗(ipad可以边充电边玩吗安全吗)

  • 苹果手机怎么下安卓软件(苹果手机怎么下载铃声作为手机铃声)

    苹果手机怎么下安卓软件(苹果手机怎么下载铃声作为手机铃声)

  • ipad为什么充电电量不变(ipad为什么充电那么慢)

    ipad为什么充电电量不变(ipad为什么充电那么慢)

  • 数据库发展的三个阶段(数据库发展的三个阶段独立性最高)

    数据库发展的三个阶段(数据库发展的三个阶段独立性最高)

  • 如何清除微信滴滴出行记录(如何清除微信滴滴订单)

    如何清除微信滴滴出行记录(如何清除微信滴滴订单)

  • iqooneo支持无线充电吗(iqooneo5支持无线充电)

    iqooneo支持无线充电吗(iqooneo5支持无线充电)

  • 苹果蓝牙权限怎么打开(苹果蓝牙权限设置在哪里打开)

    苹果蓝牙权限怎么打开(苹果蓝牙权限设置在哪里打开)

  • 钉钉认证被拒绝原因有哪些(钉钉认证失败是什么原因)

    钉钉认证被拒绝原因有哪些(钉钉认证失败是什么原因)

  • 如何安装office2016(如何安装office2013)

    如何安装office2016(如何安装office2013)

  • PCTVoice.exe是什么进程 PCTVoice进程查询(pctversion)

    PCTVoice.exe是什么进程 PCTVoice进程查询(pctversion)

  • iwctrl.exe是什么进程 iwctrl进程查询(wgcore.dll是什么文件夹)

    iwctrl.exe是什么进程 iwctrl进程查询(wgcore.dll是什么文件夹)

  • 帝国cms系统怎么换文章展示的标题图片(帝国cms使用手册)

    帝国cms系统怎么换文章展示的标题图片(帝国cms使用手册)

  • 多缴纳社保怎么处理
  • 新公司税务报到网上操作流程
  • 市政道路工程建筑包括什么
  • 应收保险公司赔款计入
  • 个体工商户属于非法人组织吗
  • 开办期间的费用,没有发票,咋抵扣啊
  • 电子税务局怎么注册
  • 其他收入月末需要结账吗
  • 强制解除财务负责人
  • 统驭科目的作用
  • 计入当期损益的利得
  • 没有发票如何报账
  • 已收款未开票未发货能确认收入吗
  • 企业所得税中的不征税收入有哪些
  • 为什么增值税发票综合服务平台进不去
  • 哪些情况需要变更船籍港
  • 小规模纳税人水利建设基金计税依据是什么
  • 小规模纳税人购买货物怎么入账
  • 高速支付宝支付如何开发票
  • 递延收益现金流量附表项目
  • 农业大棚卷帘机用什么油
  • 支付设备定金会退回吗
  • reminder.exe - reminder是什么进程 有什么用
  • 如何在excel中运算
  • 购货方销售退回怎么做账
  • windows修复网络
  • php写json
  • 计提工资时怎么做账
  • wordpress访问速度优化
  • 抵债资产账务处理程序
  • 衍生金融资产会计科目
  • uniapp多端兼容
  • 外籍个人取得的现金住房补贴所得免征个人所得税吗
  • 博德明高沼上布朗威利山麓的废弃小屋,英格兰 (© Helen Hotson/Alamy Stock Photo)
  • 比弗利山庄安全吗治安
  • 个体户对公账户的钱怎么取出来
  • 固定资产一次性扣除后第二年账务处理
  • 新星计划会限流吗
  • vue pending
  • vue3 拖拽
  • 润滑油一般纳税人税率是多少
  • 汇算清缴的所得税怎么做账
  • 经济独立可以做什么
  • 费用科目分别有什么
  • 驱动开发:内核是什么
  • 收到的销项负数发票如何申报
  • 己经认证的发票怎么作废
  • 流动资产比例大说明什么
  • 什么是一般增值税纳税人
  • 总公司和分公司按什么分类
  • 利润表主营业务收入怎么算
  • 研发支出属于什么要素
  • 母子公司间借款利息免增值税
  • 没收到发票怎么入账
  • 支付宝如何支付医保费用
  • 物流公司回扣几个点
  • 开票6个点怎么计算
  • 如何管理固定资产账户
  • mysql8 jdbc连接
  • 在unix系统中采用的页面置换
  • 手把手教你安装实木门
  • win10 预览版变正式版
  • win8老是自动安装软件
  • linux chkdsk
  • .msc是什么文件
  • win8如何查看所有程序
  • linux系统怎么弄
  • win8怎么打开远程连接
  • windows8无法安装wps
  • cocos2dx android游戏防破解总结
  • css划动
  • Android之Notification-android学习之旅(二)
  • javascript函数自调用
  • nodejs websocket客户端
  • pg搭建
  • angular js表达式
  • activity怎么用
  • android四大组件五大布局
  • 住宅区地下车位产权归属
  • 买新车还要交套餐费吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设