位置: IT常识 - 正文

vite项目优化(项目优化管理工具)

编辑:rootadmin
vite项目优化

推荐整理分享vite项目优化(项目优化管理工具),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:项目优化设计,项目优化方法,优化项目 英文,项目优化是什么,web项目优化,项目优化是什么,vericut优化,项目优化管理工具,内容如对您有帮助,希望把文章链接给更多的朋友!

首先在讲述vite优化之前,我们先来分析一下和传统的项目管理构建工具的区别,以webpack为例,它是利用plugin插件和loader加载器对项目的所有模块和依赖统一通过入口文件进行编译,从而变成我们html所需要的js格式渲染我们的页面。

随着浏览器的发展,逐渐的已经支持了 ES 模块

因此Vite在设计时考虑在浏览器请求源码时进行转换并按需提供源码。根据情景动态导入代码,即只在当前屏幕上实际使用时才会被处理。

vite项目优化(项目优化管理工具)

优势: 这样就避免了随着应用体积的增大,导致了启动服务缓慢,一处代码更新界面需要数秒钟才能显示的问题。运行速度真的没得说。

同样的,作为一个新型的构建框架,也有很多的弊端。 缺点: 只能针对现代浏览器(ES2015+)、生态小等。

当然我们今天说的不止是这些,既然选择了vite框架,自然不会考虑浏览器的兼容性,我们更多的还是关注vite本身的性能。

优势即劣势

正是因为vite本身是动态加载的资源,当某个路由的依赖项比较多的时候,加上你可能使用了某些组件库的按需加载(比如element-plus),在进入页面时可谓是很慢,而且页面都是会像卡壳了一样刷新一次。

技术层观察的表现是,network加载了很多资源,同时在cmd终端会显示:

下午7:01:09 [vite] ✨ new dependencies optimized: element-plus/es/components/message-box/style/index下午7:01:09 [vite] ✨ optimized dependencies changed. reloading下午7:01:23 [vite] ✨ new dependencies optimized: element-plus/es/components/form/style/index下午7:03:57 [vite] vite.config.ts changed, restarting server...

这是因为需要按需写入组件与样式导致的,那么怎么解决这一问题呢,我们更希望在开发环境下,能提高我们的运行速度,而且让生成环境的包体积更小。然而,好像没有太好的解决方案,因为第一次按需加载按照vite的设计就必须要写入。

换个思路,那么我只能在开发环境下全局加载组件,打包时再执行按需加载了…

// 自定义插件 ./plugins/fullImportPluginimport * as path from 'path'import type { Plugin, ResolvedConfig } from 'vite'export default function fullImportPlugin () { let config: ResolvedConfig return <Plugin>{ name: 'fullImportElementPlus', async configResolved (conf) { config = conf }, transform (code, id) { // 判断当前处理的是否是 _src/main.ts_ if (path.join(config.root, 'src/main.ts') === id) { const name = 'ElementPlus' // 引入 ElementPlus 和 样式 const prepend = `import ${name} from 'element-plus';\nimport 'element-plus/theme-chalk/src/index.scss';\n` code = code.replace('.mount(', ($1) => `.use(${name})` + $1) return prepend + code } return code } }}// vite.config.tsimport { ElementPlusResolver } from 'unplugin-vue-components/resolvers'import unElementPlus from 'unplugin-element-plus/vite'import unComponents from 'unplugin-vue-components/vite'import fullImportPlugin from './plugins/fullImportPlugin'const config = {plugins:[]}if ( modes === 'development'){ config.plugins.push(fullImportPlugin())} else { config.plugins.push(unElementPlus({ useSource: true })) config.plugins.push(unComponents({ dirs:[], dts: true, resolvers: [ ElementPlusResolver() ] }))}export default config
本文链接地址:https://www.jiuchutong.com/zhishi/284109.html 转载请保留说明!

上一篇:最亮的投影机是什么(投影仪哪种光源亮度高)

下一篇:Win7系统利用家庭组把多台电脑资源共享的方法(win7家庭组怎么用)

  • 浅谈新浪微博在阿里巴巴和企业官网的使用技巧(新浪微博的本质)

    浅谈新浪微博在阿里巴巴和企业官网的使用技巧(新浪微博的本质)

  • 荣耀50投屏到电视机怎么搞(荣耀50投屏到电视上怎么操作)

    荣耀50投屏到电视机怎么搞(荣耀50投屏到电视上怎么操作)

  • qq换绑手机号需要多久呢(qq换绑手机号需要多久生效)

    qq换绑手机号需要多久呢(qq换绑手机号需要多久生效)

  • sdi线与视频线的区别(sdi线与75-5视频线的区别)

    sdi线与视频线的区别(sdi线与75-5视频线的区别)

  • 打印机可以扫描成电子版吗(打印机可以扫描不能打印是什么原因)

    打印机可以扫描成电子版吗(打印机可以扫描不能打印是什么原因)

  • 为什么iphone11前置模糊(苹果11前置为什么这么模糊)

    为什么iphone11前置模糊(苹果11前置为什么这么模糊)

  • 魅族17有呼吸灯吗(魅族17有呼吸灯嘛)

    魅族17有呼吸灯吗(魅族17有呼吸灯嘛)

  • 微信7.09什么时候更新(微信7.0.20什么时候发布)

    微信7.09什么时候更新(微信7.0.20什么时候发布)

  • 手机插件怎么设置(手机插件怎么设置大小)

    手机插件怎么设置(手机插件怎么设置大小)

  • 怎样下载抖音里面的视频(怎样下载抖音的视频)

    怎样下载抖音里面的视频(怎样下载抖音的视频)

  • 为什么抖音拍同款显示网络不给力(为什么抖音拍同款音乐不完整)

    为什么抖音拍同款显示网络不给力(为什么抖音拍同款音乐不完整)

  • 苹果11拍照出现绿色条纹(苹果11拍照出现绿色条纹怎么回事)

    苹果11拍照出现绿色条纹(苹果11拍照出现绿色条纹怎么回事)

  • wr886n是百兆还是千兆(wr886n端口是百兆还是千兆)

    wr886n是百兆还是千兆(wr886n端口是百兆还是千兆)

  • 手机性能模式啥意思(手机性能模式是干嘛的)

    手机性能模式啥意思(手机性能模式是干嘛的)

  • 电脑怎么弹出任务管理器(电脑怎么弹出任务管理器卡屏)

    电脑怎么弹出任务管理器(电脑怎么弹出任务管理器卡屏)

  • xfind是什么手机(x—find是什么牌子手机)

    xfind是什么手机(x—find是什么牌子手机)

  • 华为hlkal10是什么型号(华为hlk-al10是什么型号)

    华为hlkal10是什么型号(华为hlk-al10是什么型号)

  • 手机怎样恢复删除的文件(手机怎样恢复删除的短信)

    手机怎样恢复删除的文件(手机怎样恢复删除的短信)

  • 拼多多精品推荐怎么删除(拼多多精品推荐是经常看的吗)

    拼多多精品推荐怎么删除(拼多多精品推荐是经常看的吗)

  • 小米8支持5g吗(小米八可以用5g网络吗)

    小米8支持5g吗(小米八可以用5g网络吗)

  • 苹果电脑画图功能在哪(苹果电脑的画图工具在哪里)

    苹果电脑画图功能在哪(苹果电脑的画图工具在哪里)

  • 小米手机后台运行在哪设置

    小米手机后台运行在哪设置

  • 小米9屏幕指纹一直亮(小米9屏幕指纹录不上怎么办)

    小米9屏幕指纹一直亮(小米9屏幕指纹录不上怎么办)

  • pr卡顿怎么解决(pr导入素材后播放很卡)

    pr卡顿怎么解决(pr导入素材后播放很卡)

  • 在edge浏览器中使某网站始终使用IE模式打开(在edge浏览器中打开农行K宝)

    在edge浏览器中使某网站始终使用IE模式打开(在edge浏览器中打开农行K宝)

  • ESP32-CAM AI THINKER 引脚排列:GPIO 用法说明

    ESP32-CAM AI THINKER 引脚排列:GPIO 用法说明

  • chatGPT之Python API启用上下文管理

    chatGPT之Python API启用上下文管理

  • PDFBox 优化内存方案(pdf优化器在哪里)

    PDFBox 优化内存方案(pdf优化器在哪里)

  • 研发项目帐务处理方案
  • 税控抵减会计分录
  • 关联方需要计提坏账准备吗?
  • 场地使用费入什么科目
  • 小规模纳税人租金发票开几个点
  • 高铁票抵扣增值税
  • 应税销售行为的购买方为消费者个人的可以开专票吗
  • 政府购买服务合同最多签几年
  • 研究开发费用的归集
  • 企业应收票据贴现给银行所获得的现金计入现金流量表
  • 企业税金包括
  • 员工异地缴纳社保协议
  • 怎么分清复利和年金
  • 保险收入如何做账务处理?
  • 可供出售金融资产包括哪些内容
  • 收到跨境分红的会计处理怎么做?
  • 城市建设综合配套费征收管理办法
  • 小规模季度30万免税怎么做账
  • 1697506445
  • 劳务挂靠需要开票吗
  • 金蝶的币别和汇率怎么取消
  • 制造费用主要包括哪些内容
  • 预付账款属于资产性质的账户
  • 政府扶持资金要交所得税吗
  • 浅谈linux
  • 网页提示摄像头未授权
  • PHP:Memcached::getResultCode()的用法_Memcached类
  • 摊余成本计入哪个科目
  • 结转存货的成本叫什么
  • 前期做了无票收入,后期怎么填写
  • 固定资产计算折旧时用扣除减值吗
  • 纺织企业成本核算表
  • 工业企业制造费用核算范围
  • 出售低值易耗品的成本
  • 投资性房地产如何计提折旧
  • php框架实例
  • 净资产收益率的概念
  • 应收票据计提利息
  • php图片上添加文字的方法
  • 第十届蓝桥杯大赛个人赛省赛结果
  • 税务退附加税会计分录
  • 最好用的电脑强力卸载软件
  • 发票写的是信息怎么办
  • 一般纳税人购进免税农产品如何抵扣进项税额
  • php安装不上
  • 电子发票开出后如何查看
  • 使用distinct在mysql中查询多条不重复记录值的解决办法
  • 应收账款的账面价值是什么
  • 银行收到工伤保险费怎么做分录
  • 融资开票是什么意思
  • 企业自建房屋建设方案
  • 红字申请单能作废吗
  • 任何单位和个人都应当()为报警
  • 通行费电子发票抵扣填写到附表二的第几栏次
  • 工程结算科目是一级科目吗?
  • 建账时应考虑的问题包括下列哪三项
  • 关闭默认共享的影响
  • 64位win7怎么释放为硬件保留的内存?
  • windows9预览版下载
  • xp系统任务栏太小怎么办
  • centos环境搭建
  • 巧用 Windows 系统控制台删除病毒文件
  • windows7能玩地下城吗
  • win8怎么删除输入法
  • win10小娜怎么用不了
  • Linux Shell 通配符、元字符、转义符使用实例介绍
  • 2015-04-04---CCAction详解(欠了大家好几天了)
  • json解析 java
  • linux shell语句
  • perl常用函数
  • android开发最全教程
  • nodejs获取当前时间
  • vue router 传参
  • 上海市税务局招聘
  • 地方税务局和国家税务局合并
  • 全年一次性奖金怎么申报个税
  • 高新技术企业认定
  • 安阳文峰区小学招生
  • 购置税完税证明在哪里打印
  • 我们是小规模纳税人,有个人所得税代扣代缴的业务吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设