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

  • 百度站长消息提醒工具新增5大异常提醒(百度站长统计怎样添加)

    百度站长消息提醒工具新增5大异常提醒(百度站长统计怎样添加)

  • 笔记本电脑键盘没反应怎么办(笔记本电脑键盘更换要多少钱?)

    笔记本电脑键盘没反应怎么办(笔记本电脑键盘更换要多少钱?)

  • 怎么申请第二个微信号(怎么申请第二个苹果ID)

    怎么申请第二个微信号(怎么申请第二个苹果ID)

  • 微信换头像别人看还是原来的(微信换头像别人能立马知道吗)

    微信换头像别人看还是原来的(微信换头像别人能立马知道吗)

  • 怎么跳过微信注册扫码(怎么跳过微信注册新账号)

    怎么跳过微信注册扫码(怎么跳过微信注册新账号)

  • 抖音是不是所有人都可以开直播(抖音是不是所有访客都能看到)

    抖音是不是所有人都可以开直播(抖音是不是所有访客都能看到)

  • 三相电插头怎么接(三相电插头怎么安装)

    三相电插头怎么接(三相电插头怎么安装)

  • .tt是什么域名(tm域名)

    .tt是什么域名(tm域名)

  • 3t硬盘实际容量是多少(3t硬盘容量为什么只有760g)

    3t硬盘实际容量是多少(3t硬盘容量为什么只有760g)

  • 手机自带浏览器打不开怎么办(手机自带浏览器的回收站在哪里)

    手机自带浏览器打不开怎么办(手机自带浏览器的回收站在哪里)

  • 华为手机激活是什么意思(华为手机激活是否就是注册了账号)

    华为手机激活是什么意思(华为手机激活是否就是注册了账号)

  • vivo恢复出厂设置里面的东西还有吗(vivo恢复出厂设置还能定位到吗)

    vivo恢复出厂设置里面的东西还有吗(vivo恢复出厂设置还能定位到吗)

  • 用手机投屏在电视上看为什么投不上去(用手机投屏在电视上看需要什么软件)

    用手机投屏在电视上看为什么投不上去(用手机投屏在电视上看需要什么软件)

  • qq匹配聊天失败是什么意思(qq匹配聊天总是匹配失败怎么解决)

    qq匹配聊天失败是什么意思(qq匹配聊天总是匹配失败怎么解决)

  • iphone11耳机是有线还是无线(iphone11的耳机是圆孔还是扁孔)

    iphone11耳机是有线还是无线(iphone11的耳机是圆孔还是扁孔)

  • 苹果11相机九宫格怎么打开(苹果相机九宫格怎么弄)

    苹果11相机九宫格怎么打开(苹果相机九宫格怎么弄)

  • 11动态壁纸怎么设置(动态壁纸怎么做)

    11动态壁纸怎么设置(动态壁纸怎么做)

  • ipad怎么使用kindle(ipad怎么使用OTG功能)

    ipad怎么使用kindle(ipad怎么使用OTG功能)

  • iqoo背面的灯怎么亮(iqoo背面灯怎么开)

    iqoo背面的灯怎么亮(iqoo背面灯怎么开)

  • 共享单车如何找到具体位置(共享单车如何找工作)

    共享单车如何找到具体位置(共享单车如何找工作)

  • 抖音拉黑了还能私信吗(抖音拉黑了还能@对方么)

    抖音拉黑了还能私信吗(抖音拉黑了还能@对方么)

  • win10重置后设置打不开(win10重置设置怎么弄)

    win10重置后设置打不开(win10重置设置怎么弄)

  • 西瓜视频如何直播游戏(西瓜视频如何直播)

    西瓜视频如何直播游戏(西瓜视频如何直播)

  • 以公允价值计量计入其他综合收益
  • 部分红冲的发票怎么开
  • 技术推广服务包含什么 奇瑞汽车
  • 供暖企业收取的容量热价费怎么计入收入
  • 房地产企业拆迁补偿契税政策
  • 会计核算的四大要素
  • 生产车间的修理计入什么科目
  • 资产损失税前扣除是什么意思
  • 资产重组过程中资产转出的税收问题
  • 单位车辆折旧完怎么处理
  • 分期手术
  • 网店会计的工作内容是什么
  • 其他应收款 应收账款
  • 材料盘亏可收回成本吗
  • 进项税额转出其他应收款
  • 教育附加费和地方教育附加费的计算
  • 所得税费用税率规定
  • 营改增之前
  • 哪些理财产品能赎回
  • 公司注销过程中如果有纠纷怎么办
  • 福利费提取后未使用能否税前扣除?
  • 未确认融资费用摊销额怎么计算
  • 金融服务公司收取金融服务费
  • 前端解决页面加载白屏
  • 文件过滤什么意思
  • 电子专用发票没有发票代码
  • 台式电脑开不了机怎么办 屏幕黑屏
  • 两个公司的资金怎么合并
  • 美容店销售收入怎么算
  • 暂估入库后结转成本
  • 在win7中如何找到WAN服务
  • win11打不开英雄连2
  • 移动硬盘通过软件改硬盘容量怎么改
  • PHP:pg_lo_seek()的用法_PostgreSQL函数
  • 税务登记 申报
  • 发票认证了但是没收到票怎么处理
  • linix unix
  • windows7旗舰版最新版本
  • 经济补偿金个人所得税计算公式
  • php编程入门教程
  • 税款减免科目月数怎么算
  • 围剿视频
  • php调用java接口
  • 个体户怎么报增值税
  • 企业的差旅费计入什么科目
  • 销售返点什么意思
  • 增值税纳税申报表怎么填
  • 运杂费可以计入固定资产吗
  • js中的对象种类有哪些
  • 年收入1500万是富人吗
  • 无偿帮工造成财产损失谁赔偿 法院
  • 坏账准备需要计提增值税吗
  • 有限合伙企业中有限合伙人承担责任的方式为
  • 关于餐饮行业
  • 低值易耗品摊销怎么做账
  • 公司发工资是私人转账的要交税吗
  • 代扣代缴预提所得税10%是什么意思
  • 营改增涉及哪些项目
  • 企业买房怎么入账
  • 发票怎么保管不会坏
  • 融资租赁可以折旧吗
  • 做内账需要什么资料
  • 现金日记账的对账工作有哪些
  • 未分配利润太大了怎么处理
  • 什么叫建账
  • 工业企业增值税纳税义务发生时间
  • 企业如何建账做账
  • sql server索引的使用
  • Win10 Build 10565 Edge浏览器更新日志和已知问题
  • ubuntu20.04安装samba
  • linux中vi编辑器怎么使用
  • npm安装插件失败
  • bat注销命令
  • windows node.js
  • shell脚本运行linux命令
  • python相关图片
  • 税务局领取发票后怎么操作
  • 济南保安证查询系统
  • 国有土地使用权出让和转让条例
  • 刚注册了一家深圳公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设