位置: IT常识 - 正文

vue3 + vite 性能优化 ( 从5s -> 0.5s )(vue3性能对比)

编辑:rootadmin
vue3 + vite 性能优化 ( 从5s -> 0.5s ) Ⅰ、Vue + Vite 构建项目性能优化vite 相比于 webpack 优势显著;然而 社区,却 不够成熟 ,参考资料较少;如何让vue + vite 构建项目变的 访问秒开 (要想足够快,就是让首次加载足够小),从下面几步做起 =>个人通过学生价购买的服务器,已达到0.5s内秒开 => 点击体验 文章目录Ⅰ、Vue + Vite 构建项目性能优化Ⅱ、Vue +Vite的优化有那些?1. ui组件库的优化2. Icon 图标优化3. js最小拆包4. 路由懒加载5. 个人vite.config 配置参考Ⅱ、Vue +Vite的优化有那些?1. ui组件库的优化 ui 组件库 是打包变大的 显著的原因之一 ,可能全量导入或批量导入了ui组件(去页面一次性加载了)如果只用到 ui 组件库的部分 ,如何做到用多少,打包多少 ?下面推荐一个 vite 的插件 (以 element Plus ,Antd of vue ,最常用的2中ui库来举例)

推荐整理分享vue3 + vite 性能优化 ( 从5s -> 0.5s )(vue3性能对比),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3优点,vue3优点,vue3.0 vite,vue3性能对比,vue3性能对比,vue3.0 vite,vue3性能提升,vue3优缺点,内容如对您有帮助,希望把文章链接给更多的朋友!

① 安装:

npm i -D unplugin-vue-components

② main.js => 无需配置

main.js 不需要在 import 组件,再去use 绑定了 【注意:否则包变大,反而无效】直接用,用多少打包多少

③ 只需配置 => vite.config

import Components from 'unplugin-vue-components/vite' // 按需加载自定义组件import { ElementPlusResolver, AntDesignVueResolver} from 'unplugin-vue-components/resolvers'export default defineConfig { // ... plugins: [ // 按需引入 Components({ dts: true, dirs: ['src/components'], // 按需加载的文件夹 resolvers: [ ElementPlusResolver(), // Antd 按需加载 AntDesignVueResolver() // ElementPlus按需加载 ] }) ], // ..................................} dirs属性 => 设置 按需加载的文件夹 如 src/components ;该文件夹 的组件 不需要 import 按命名就可全局引入;ElementPlusResolver()、 AntDesignVueResolver() 分别为element Plus 和 Antd 按需导入方法;2. Icon 图标优化使用ui 组件库的图标,一般都会把一组Icon 图标 全部打包进去;如何优化呢,我们需要配合上面的插件 ↑;vue3 + vite 性能优化 ( 从5s -> 0.5s )(vue3性能对比)

① 安装插件

npm i -D unplugin-icons //安装

② 安装 Icon库 (全量 和 选择)

npm i -D @iconify/jsonnpm i -D @iconify-json/carbon => 只下载该图标集

③ 配置 vite.config

...import Components from 'unplugin-vue-components/vite'import Icons from 'unplugin-icons/vite'import IconsResolver from 'unplugin-icons/resolver'...export default { plugins: [ vue(), Components({ resolvers: [ IconsResolver(), ] }), Icons({ autoInstall: true }), ],}

④ vue 中 直接使用

i - 图标集名 - 标图名;直接使用 => 不需要任何导入;

⑤ 示例如下

<i-carbon-4k />

Icon 图标集 地址 : 点击这里 => Antd 、element Plus 都有3. js最小拆包配置vite.config 的 output 属性 output: { // 最小化拆分包 manualChunks(id) { if (id.includes('node_modules')) { return id.toString().split('node_modules/')[1].split('/')[0].toString(); } } },让打开那个页面,加载那个页面的js ,让之间的关联足够小按需加载 js 每个页面的 js 逻辑4. 路由懒加载路由 懒加载就是最常规的啦采用 () => import(’/…’) 来导入 5. 个人vite.config 配置参考

达到效果 => 点击体验

import { defineConfig } from "vite"; // 帮手函数,这样不用 jsdoc 注解也可以获取类型提示import { resolve } from "path"; // 主要用于alias文件路径别名import vue from '@vitejs/plugin-vue';import Components from 'unplugin-vue-components/vite';// icon 按需引入import Icons from 'unplugin-icons/vite';import IconsResolver from 'unplugin-icons/resolver';// Antd 按需引入import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'export default defineConfig({ plugins: [ vue(), // 配置需要使用的插件列表 Components({ resolvers: [ IconsResolver(), AntDesignVueResolver() ] }), Icons({ autoInstall: true }), ], css: { preprocessorOptions: { less: { javascriptEnabled: true, }, }, }, resolve: { alias: { "/@": resolve("src"), } }, // 强制预构建插件包 optimizeDeps: { include: ['axios'], //用于鉴权 }, // 打包配置 build: { target: 'modules', outDir: 'dist', //指定输出路径 assetsDir: 'assets', // 指定生成静态资源的存放路径 rollupOptions: { minify: 'terser',// 混淆器,terser构建后文件体积更小 output: { manualChunks(id) { if (id.includes('node_modules')) { return id.toString().split('node_modules/')[1].split('/')[0].toString(); } } }, }, }, server: { // 本地 - 运行配置,及反向代理配置 cors: true, // 默认启用并允许任何源 open: true, // 在服务器启动时自动在浏览器中打开应用程序 proxy: { '/api': { target: 'http://localhost:7001', //代理接口 changeOrigin: true, } } }})
本文链接地址:https://www.jiuchutong.com/zhishi/287197.html 转载请保留说明!

上一篇:阿查法拉亚盆地中的一棵柏树,路易斯安那州 (© Chris Moore/Tandem Still + Motion)(阿查法拉亚盆地 钓鱼)

下一篇:在anaconda下安装pytorch + python3.8+GPU/CPU版本 详细教程(在anaconda下安装python)

  • 苹果13siri怎么唤醒(苹果13怎么设置唤醒)

    苹果13siri怎么唤醒(苹果13怎么设置唤醒)

  • 华为p40pro可以支持无线反向充电吗(华为p40pro可以刷卡吗)

    华为p40pro可以支持无线反向充电吗(华为p40pro可以刷卡吗)

  • 怎样解除华为手机支付保护(怎样解除华为手机反复重启)

    怎样解除华为手机支付保护(怎样解除华为手机反复重启)

  • 户户通高频头坏了是什么症状(户户通高频头坏了换一个新的行吗)

    户户通高频头坏了是什么症状(户户通高频头坏了换一个新的行吗)

  • 腾讯会议怎么上课(腾讯会议怎么上传视频)

    腾讯会议怎么上课(腾讯会议怎么上传视频)

  • 手机投屏已连接到null是什么意思(手机投屏已连接电视显示无法浏览)

    手机投屏已连接到null是什么意思(手机投屏已连接电视显示无法浏览)

  • vivo哪个系列高端(vivo什么系列最高端)

    vivo哪个系列高端(vivo什么系列最高端)

  • 抖音头像修改达到上限怎么办(抖音修改头像会影响权重吗)

    抖音头像修改达到上限怎么办(抖音修改头像会影响权重吗)

  • 剪映视频导出失败(剪映视频导出失色)

    剪映视频导出失败(剪映视频导出失色)

  • 电脑冷启动按哪几个键(电脑冷启动按哪几个键图片)

    电脑冷启动按哪几个键(电脑冷启动按哪几个键图片)

  • 剪映踩点是什么意思(剪映踩点这个功能在哪里)

    剪映踩点是什么意思(剪映踩点这个功能在哪里)

  • 红米8a指纹在哪(redmi8指纹解锁在哪)

    红米8a指纹在哪(redmi8指纹解锁在哪)

  • xs屏幕刷新率(xs屏幕刷新率比8p屏幕刷新率)

    xs屏幕刷新率(xs屏幕刷新率比8p屏幕刷新率)

  • 魅族m1metal是什么型号(魅族m1metal价格 参数)

    魅族m1metal是什么型号(魅族m1metal价格 参数)

  • 荣耀9x黑色背面有x吗(华为荣耀9x黑色背面)

    荣耀9x黑色背面有x吗(华为荣耀9x黑色背面)

  • qq视频通话最多几人

    qq视频通话最多几人

  • oppo手机重启在哪(OPPO手机重启在线更新显示没有网)

    oppo手机重启在哪(OPPO手机重启在线更新显示没有网)

  • netware属于什么操作系统(netware属于典型的什么操作系统)

    netware属于什么操作系统(netware属于典型的什么操作系统)

  • 如何退出微信传输助手(微信传送门怎么关掉)

    如何退出微信传输助手(微信传送门怎么关掉)

  • 第四代电子计算机使用的电子元件是(第四代电子计算器所用的电子元器件是)

    第四代电子计算机使用的电子元件是(第四代电子计算器所用的电子元器件是)

  • word文档怎么纵向排版(word文档怎么纵向打字)

    word文档怎么纵向排版(word文档怎么纵向打字)

  • 怎么用微信登录qq(抖音怎么用微信登录)

    怎么用微信登录qq(抖音怎么用微信登录)

  • 小米6x怎么隐藏图标(小米6x怎么隐藏桌面应用图标)

    小米6x怎么隐藏图标(小米6x怎么隐藏桌面应用图标)

  • 华为地图什么时候上线(华为地图什么时候可以下载)

    华为地图什么时候上线(华为地图什么时候可以下载)

  • 苹果8p没信号无服务怎么回事(苹果8p没信号无法开机)

    苹果8p没信号无服务怎么回事(苹果8p没信号无法开机)

  • iphonexsmax有指纹吗(iphonexsmax有指纹识别)

    iphonexsmax有指纹吗(iphonexsmax有指纹识别)

  • 拼多多账单明细怎么查(拼多多账单明细怎么删除)

    拼多多账单明细怎么查(拼多多账单明细怎么删除)

  • 一台电脑主机如何连接两个显示器(一台电脑主机如何带两个显示器)

    一台电脑主机如何连接两个显示器(一台电脑主机如何带两个显示器)

  • vivo手机电话转接怎么设置(vivo手机电话转接在哪里)

    vivo手机电话转接怎么设置(vivo手机电话转接在哪里)

  • 粘贴是ctrl加什么(粘贴是用什么快捷键)

    粘贴是ctrl加什么(粘贴是用什么快捷键)

  • 海威特i31和i39区别(海威特i30和i39耳机的区别)

    海威特i31和i39区别(海威特i30和i39耳机的区别)

  • dubal00是华为什么型号手机(华为dubal00什么时候上市的)

    dubal00是华为什么型号手机(华为dubal00什么时候上市的)

  • k歌里的k币怎么提现(k歌的k币怎么兑换人民币)

    k歌里的k币怎么提现(k歌的k币怎么兑换人民币)

  • 赠送给客户的库存商品怎么做账
  • 一次性医用外科口罩哪个牌子好
  • 房产证,契税
  • 不征税发票需要预缴税款吗
  • 货品调拨的意义
  • 管理费用和研发费用的区别
  • 小规模纳税人哪些发票可以抵税
  • 增值税超过起征点填入哪个表格
  • 人员新增申报表
  • 有红字发票如何入账
  • 普票丢失了能作废重开吗
  • 行政事业单位无偿调拨资产会计处理
  • 受托代销商品手续费会计分录
  • 电子承兑汇票如何拆小
  • 营改增后如何纳税
  • 以前漏记的成本怎么处理
  • 土地不动产登记证办理流程
  • 对公付款没有发票
  • 交通运输业安全心得体会范文
  • 拆除固定资产的补偿款
  • 国税对个体户征收哪些税?
  • 银行转贴现业务违法吗
  • 高新技术企业享受什么优惠政策
  • 资本公积要交印花税账簿税吗
  • 债务免除的税务处理
  • 购买法下购买成本包括
  • 进项票认证超了怎么处理
  • 法人实名认证后为什么查不到名下公司
  • 法院强制拍卖房子流程
  • 财务中暂估入账会计分录
  • 装修工程款如何记账
  • mac安装软件提示需要更高版本
  • 电脑连接网线但没有网络
  • win10 net framework 3.5 离线
  • 本月发生的费用,下月取得发票,怎么做账
  • 提前预支工资怎么报税
  • windows不能打开exe文件
  • 绿萝怎么修剪才能更旺盛
  • 购进原材料款项怎么入账
  • 奥卡拉国家森林公园
  • vue使用计算属性声明在什么配置项中
  • 弱电工程计入什么费用
  • 现金流量表的附表如何编制
  • 期末调整汇兑损益计算
  • 征收率是税率吗
  • 公司车辆固定资产转移税
  • python的继承用法
  • 织梦常用调用标签
  • 退税流程怎么操作个人所得税2022
  • 经营证在哪里办
  • 小规模未开票收入超过30万如何申报
  • 公司亏损后盈利分红
  • 小规模未开票收入按1%还是3%
  • 土地承包费摊销当月摊销吗
  • 跨境电商怎么交流
  • 公司赞助学校
  • 退货销售折让会计分录
  • 一般纳税人废品行业有哪些
  • 租写字楼可以办个体户吗
  • 破产清算的程序特点
  • 债务抵消的构成要件
  • 员工报销培训费怎么做账
  • 没有vcd怎么放光盘
  • 丢失msvcp71.dll
  • mac如何切换界面 快捷键
  • Win7系统如何开启移动到文件夹选项
  • cocos2dx用什么ide
  • opengl入门视频教程
  • opengl编程实例
  • KBEngine v0.4.0 发布,分布式游戏服务端引擎
  • angular中ui calendar的一些使用心得(推荐)
  • 酷狗app去广告
  • python里的lambda怎么用
  • android混淆后怎么破解
  • 云阅卷查询成绩登录入口
  • 武汉税务局的电话
  • 个人所得税缴纳标准2024年
  • 税务稽查局什么时候独立出来
  • 国际税务师证书
  • 增值税普通发票可以抵扣吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设