news 2026/7/15 3:01:40

Vue——vue3 打包优化与资源压缩

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Vue——vue3 打包优化与资源压缩

背景问题:
需要优化打包体积和加载速度。

方案思考:
通过代码分割、压缩和资源优化来减少打包体积。

具体实现:
Vite配置优化:

// vite.config.jsimport{defineConfig}from'vite'importvuefrom'@vitejs/plugin-vue'import{compression}from'vite-plugin-compression'import{visualizer}from'rollup-plugin-visualizer'exportdefaultdefineConfig({plugins:[vue(),// Gzip压缩compression({algorithm:'gzip',threshold:10240// 超过10KB的文件进行压缩}),// 包分析工具visualizer({filename:'./dist/stats.html',open:true,gzipSize:true,brotliSize:true})],build:{rollupOptions:{output:{// 分包优化manualChunks:{// Vue核心库vue:['vue','vue-router','pinia'],// UI组件库element:['element-plus'],// 工具库utils:['lodash-es','axios'],// 图表库charts:['echarts']},// 或者使用函数方式更灵活地分包manualChunks(id){if(id.includes('node_modules')){if(id.includes('vue')||id.includes('pinia')||id.includes('vue-router')){return'vue'}if(id.includes('element-plus')){return'element'}if(id.includes('lodash')||id.includes('axios')){return'utils'}if(id.includes('echarts')){return'charts'}return'vendor'}}}},// 压缩配置minify:'terser',terserOptions:{compress:{drop_console:true,// 移除consoledrop_debugger:true,// 移除debuggerpure_funcs:['console.log']// 移除指定函数},format:{comments:false// 移除注释}},// 启用CSS分割cssCodeSplit:true},// 预加载脚本optimizeDeps:{include:['element-plus/lib/locale/lang/zh-cn'],// 预加载国际化文件}})

代码分割优化:

// utils/lazy-load.js// 动态导入工具函数exportclassLazyLoad{// 带错误处理的懒加载staticasynclazyImport(importFunction,retries=3){for(leti=0;i<retries;i++){try{returnawaitimportFunction()}catch(error){if(i===retries-1){throwerror}// 延迟后重试awaitnewPromise(resolve=>setTimeout(resolve,1000))}}}// 路由懒加载staticrouteLazyLoader(path){return()=>import(`../views${path}.vue`)}// 组件懒加载staticcomponentLazyLoader(path){return()=>import(`../components${path}.vue`)}// 带加载提示的懒加载staticasynclazyWithLoading(importFunction,setLoading){try{setLoading&&setLoading(true)constmodule=awaitimportFunction()returnmodule}finally{setLoading&&setLoading(false)}}}

路由懒加载:

// router/index.jsimport{createRouter,createWebHistory}from'vue-router'constroutes=[{path:'/',name:'Home',component:()=>import('@/views/Home.vue'),// 懒加载meta:{title:'首页'}},{path:'/about',name:'About',component:()=>import('@/views/About.vue'),// 懒加载meta:{title:'关于我们'}},// 按功能分组的懒加载{path:'/user',component:()=>import('@/layouts/index.vue'),children:[{path:'profile',name:'UserProfile',component:()=>import('@/views/user/Profile.vue'),meta:{title:'用户资料'}},{path:'settings',name:'UserSettings',component:()=>import('@/views/user/Settings.vue'),meta:{title:'用户设置'}}]},// 大型功能模块单独打包{path:'/admin',name:'Admin',component:()=>import('@/views/admin/index.vue'),meta:{title:'管理后台'},children:[{path:'dashboard',name:'AdminDashboard',component:()=>import('@/views/admin/Dashboard.vue'),meta:{title:'管理面板'}}]}]constrouter=createRouter({history:createWebHistory(),routes})exportdefaultrouter
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/12 10:01:42

对比传统TTS,IndexTTS2在哪些场景更胜一筹?

对比传统TTS&#xff0c;IndexTTS2在哪些场景更胜一筹&#xff1f; 随着人机交互的不断演进&#xff0c;文本转语音&#xff08;TTS&#xff09;技术已从“能发声”迈向“懂情感”的新阶段。传统的TTS系统虽然能够完成基本的文字朗读任务&#xff0c;但在语调自然度、情感表达…

作者头像 李华
网站建设 2026/7/4 16:27:31

IndexTTS2性能优化秘籍,推理速度提升50%

IndexTTS2性能优化秘籍&#xff0c;推理速度提升50% 在当前AIGC内容创作爆发的背景下&#xff0c;文本转语音&#xff08;TTS&#xff09;系统已从“能发声”迈向“会共情”的新阶段。IndexTTS2 V23版本凭借其卓越的情感建模能力与易用性设计&#xff0c;迅速成为中文TTS领域的…

作者头像 李华
网站建设 2026/7/1 9:30:37

手把手教学:用AI证件照工坊给全家制作签证照片的完整过程

手把手教学&#xff1a;用AI证件照工坊给全家制作签证照片的完整过程 随着出国旅游、留学、探亲等需求日益增长&#xff0c;办理各类签证时对证件照的要求也愈发严格。传统照相馆不仅价格高、耗时长&#xff0c;还可能因不符合标准被拒。而市面上许多在线证件照工具又存在隐私…

作者头像 李华
网站建设 2026/7/1 9:32:03

星露谷物语XNB文件处理完全指南:从入门到精通

星露谷物语XNB文件处理完全指南&#xff1a;从入门到精通 【免费下载链接】xnbcli A CLI tool for XNB packing/unpacking purpose built for Stardew Valley. 项目地址: https://gitcode.com/gh_mirrors/xn/xnbcli 还在为星露谷物语的mod制作而烦恼吗&#xff1f;想要个…

作者头像 李华
网站建设 2026/7/1 19:00:34

戴尔G15散热控制神器:tcc-g15让你的笔记本告别高温困扰

戴尔G15散热控制神器&#xff1a;tcc-g15让你的笔记本告别高温困扰 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 还在为戴尔G15笔记本玩游戏时温度飙升而烦恼…

作者头像 李华
网站建设 2026/7/2 13:13:00

用Nginx代理IndexTTS2,外网访问更安全

用Nginx代理IndexTTS2&#xff0c;外网访问更安全 在本地部署的语音合成系统&#xff08;如 IndexTTS2&#xff09;日益普及的背景下&#xff0c;如何在保障服务可用性的同时提升安全性&#xff0c;成为团队运维和开发者关注的核心问题。尤其当 IndexTTS2 V23 版本由“科哥”构…

作者头像 李华