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

  • 苹果手机如何设置铃声(苹果手机如何设置门禁卡nfc功能)

    苹果手机如何设置铃声(苹果手机如何设置门禁卡nfc功能)

  • Word2019首行缩进2字符如何设置(word2019首行缩进怎么设置)

    Word2019首行缩进2字符如何设置(word2019首行缩进怎么设置)

  • 小米10青春版如何恢复出厂设置(小米10青春版如何强制关机)

    小米10青春版如何恢复出厂设置(小米10青春版如何强制关机)

  • 为什么b站没有弹幕(为什么b站没有nba剪辑视频)

    为什么b站没有弹幕(为什么b站没有nba剪辑视频)

  • opporeno能开空调吗(oppo reno1能不能开空调)

    opporeno能开空调吗(oppo reno1能不能开空调)

  • 斐讯k3 a1 a2 d1区别(斐讯k3a1a2d1版本区别)

    斐讯k3 a1 a2 d1区别(斐讯k3a1a2d1版本区别)

  • beatssolo3支持安卓吗(beatssolo3可以连安卓吗)

    beatssolo3支持安卓吗(beatssolo3可以连安卓吗)

  • ipad官方给扩容吗(ipad官方扩容多少钱)

    ipad官方给扩容吗(ipad官方扩容多少钱)

  • ps是免费的吗(ps是免费的吗?)

    ps是免费的吗(ps是免费的吗?)

  • 微信扫脸登录在哪里设置(微信扫脸登录在哪里打开)

    微信扫脸登录在哪里设置(微信扫脸登录在哪里打开)

  • 华为dub-al00a什么型号(华为手机dub-al00a是什么手机)

    华为dub-al00a什么型号(华为手机dub-al00a是什么手机)

  • 什么软件可以提取视频里的音乐(什么软件可以提取音乐)

    什么软件可以提取视频里的音乐(什么软件可以提取音乐)

  • 苹果8和苹果11系列充电器一样吗(苹果8和苹果11系统一样吗)

    苹果8和苹果11系列充电器一样吗(苹果8和苹果11系统一样吗)

  • 手机号注销后微信怎么办(手机号注销后微信怎么登录)

    手机号注销后微信怎么办(手机号注销后微信怎么登录)

  • 苹果阻止来电有显示吗(苹果阻止来电有什么危害)

    苹果阻止来电有显示吗(苹果阻止来电有什么危害)

  • 电脑按什么键关闭程序(电脑按什么键关声音)

    电脑按什么键关闭程序(电脑按什么键关声音)

  • 有线网络是wifi吗(有线网络是连接猫还是路由器)

    有线网络是wifi吗(有线网络是连接猫还是路由器)

  • 华为荣耀9x有没有录屏功能(华为荣耀9X有没有nfc功能怎么打开)

    华为荣耀9x有没有录屏功能(华为荣耀9X有没有nfc功能怎么打开)

  • 手机2g3g4g区别(手机4g和2g的区别)

    手机2g3g4g区别(手机4g和2g的区别)

  • soul app怎么查看访客(soul怎么查看自己看过的人)

    soul app怎么查看访客(soul怎么查看自己看过的人)

  • iphone11pro多大尺寸(iphone11pro是多大)

    iphone11pro多大尺寸(iphone11pro是多大)

  • 手机被黑了怎么办(手机被黑了怎么查对方)

    手机被黑了怎么办(手机被黑了怎么查对方)

  • 大数据的来源(旅游大数据的来源)

    大数据的来源(旅游大数据的来源)

  • 1200毫安能给手机充多少电(1200毫安手机能用多久)

    1200毫安能给手机充多少电(1200毫安手机能用多久)

  • 如何在Windows11上下载和安装 Minecraft?Win11上下载和安装Minecraft教程(如何在windows11上安装动态壁纸)

    如何在Windows11上下载和安装 Minecraft?Win11上下载和安装Minecraft教程(如何在windows11上安装动态壁纸)

  • 游戏显卡怎么选?玩游戏选择什么样的显卡比较(显卡性能排行榜2023)

    游戏显卡怎么选?玩游戏选择什么样的显卡比较(显卡性能排行榜2023)

  • ezejmnap.exe进程安全吗 ezejmnap是什么进程(et.exe进程占用)

    ezejmnap.exe进程安全吗 ezejmnap是什么进程(et.exe进程占用)

  • 天竺葵的养殖方法(天竺葵的养殖方法和繁殖方法)

    天竺葵的养殖方法(天竺葵的养殖方法和繁殖方法)

  • python字符串的驻留机制是什么(python字符串isdigit)

    python字符串的驻留机制是什么(python字符串isdigit)

  • 免税收入怎么做账务处理
  • 美国报税用什么软件
  • 代扣代缴个人所得税如何做账
  • 铜川缴纳房屋契税怎么算
  • 解除劳动合同支付违约金合法吗
  • 生产成本科目期末余额反映的是
  • 物流公司车子
  • 员工辞退补偿金需要交个税吗
  • 经审计的财务报告包括的内容
  • 小规模装饰工程税率
  • 零售行业会计核算方法
  • 制造费用结转后有没有余额
  • 票据和结算凭证上的签章
  • 财务部门使用固定资产的折旧计入管理费用
  • 营业外收入税前列支
  • 普通发票和增值税发票都能报销吗
  • 基础年收入是什么意思
  • 增值税减免了,附加税申报表还用填吗
  • 计提水电费是什么凭证
  • 补缴房产税需要什么资料
  • 利息收入和利息费用的区别
  • 预付账款是企业销售过程中形成的一种非货币形式的债权
  • 广告公司文化事业费怎么交
  • 如何加快身体的新陈代谢
  • shpc32.exe - shpc32是什么进程 有什么用
  • .linux文件
  • gitlab shell
  • pc安装苹果系统
  • 如何制作win7系统u盘安装盘
  • 高新技术企业的研发费用加计扣除
  • PHP:session_set_save_handler()的用法_Session函数
  • 同一控制下的控股合并中,合并方个别财务报表
  • nullable object must have a value
  • thinkphp5.1教程
  • 工程服务费会计怎么做账
  • es6的module模块
  • 2023版最新最全React面试题
  • phpcms v9 getshell
  • 损益类科目明细账图片
  • css代码基础
  • dedecms插件
  • 进口关税完税价格的计算公式
  • 个人所得税租房专项扣除标准
  • 企业预提的费用计入什么科目
  • 中小企业应交税费怎么算
  • 交哪些费用
  • 小规模减免的附加税怎么做账
  • 专项资金的账务处理 借:银行存款 贷:其他应付款
  • 企业清算未分配利润怎么交税
  • 母子公司之间无偿划转固定资产
  • 上年度财务费用会计分录
  • 什么是代扣代缴税收缴款凭证
  • 代扣代缴的增值税额
  • 税率调整后税差怎么算
  • 企业贷款利息多少
  • 公益性捐赠要确认递延吗
  • 损益类科目结转本年利润方向
  • 固定资产确认条件最新
  • 产品质量认证费用属于什么成本
  • 去年的会计凭证做错了,今年发现要怎么修改
  • 工会经费的计提与缴纳
  • mysql文件存储路径设置
  • Win10预览版更新弹窗如何关闭
  • win10右键自动弹出
  • ffplay播放视频命令
  • 的四个步骤
  • win8 net framework
  • win8无法正常启动你的电脑
  • 怎么调整桌面图标间距
  • created directory cfg怎么办
  • linux查看sh
  • sendmail端口
  • win8怎么把网速调到最快
  • jQuery+Ajax实现无刷新分页
  • CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放
  • 用bat脚本快速编程
  • 安卓手机root后更流畅吗
  • 在批改中,可以使用x表示错误
  • 居民与非居民的区别国际金融
  • 怎样查询灵活就业养老保险缴费记录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设