位置: 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家庭组怎么用)

  • 微信视频动态在哪看(微信上的视频动态)

    微信视频动态在哪看(微信上的视频动态)

  • 华为mate30是搭载鸿蒙吗

    华为mate30是搭载鸿蒙吗

  • 为什么不要打开旁白

    为什么不要打开旁白

  • 文件被覆盖了还能恢复吗(文件被覆盖了还能找到吗?)

    文件被覆盖了还能恢复吗(文件被覆盖了还能找到吗?)

  • 删除还原数据并进入系统启动菜单是什么意思(删除还原数据并进入系统启动菜单会怎么样)

    删除还原数据并进入系统启动菜单是什么意思(删除还原数据并进入系统启动菜单会怎么样)

  • 华为手机电池补电代码(华为手机电池补电号码)

    华为手机电池补电代码(华为手机电池补电号码)

  • 荣耀30防水级别(荣耀30防水防尘级别是多少)

    荣耀30防水级别(荣耀30防水防尘级别是多少)

  • qq相册的照片久了为什么会模糊(qq相册的照片久了会丢吗)

    qq相册的照片久了为什么会模糊(qq相册的照片久了会丢吗)

  • b站怎么设置自动播放下一个视频(b站怎么设置自动跳过片头片尾)

    b站怎么设置自动播放下一个视频(b站怎么设置自动跳过片头片尾)

  • 拼多多退货运费险退到哪里(拼多多退货运费审核未通过怎么办)

    拼多多退货运费险退到哪里(拼多多退货运费审核未通过怎么办)

  • 微信不想接收对方信息怎么办(微信不想接收对方信息又不想拉黑)

    微信不想接收对方信息怎么办(微信不想接收对方信息又不想拉黑)

  • xr要不要更新13.3

    xr要不要更新13.3

  • iphonexsmax支持什么模式快充(iphonexsmax支持什么电话卡)

    iphonexsmax支持什么模式快充(iphonexsmax支持什么电话卡)

  • qq不能点赞怎么回事(qq不能点赞是被屏蔽了吗)

    qq不能点赞怎么回事(qq不能点赞是被屏蔽了吗)

  • 华为nova2plus是什么处理器(华为nova2plus是什么手机)

    华为nova2plus是什么处理器(华为nova2plus是什么手机)

  • beats能连电脑吗(beats能连电脑吗?)

    beats能连电脑吗(beats能连电脑吗?)

  • 怎么把发出的短信撤回(怎么把发出的短信收回)

    怎么把发出的短信撤回(怎么把发出的短信收回)

  • 苹果机浮球开关在哪里(平果手机浮球)

    苹果机浮球开关在哪里(平果手机浮球)

  • 手机支付宝账户修改密码(手机支付宝账户通在哪)

    手机支付宝账户修改密码(手机支付宝账户通在哪)

  • 苹果x电池寿命80%要换吗(苹果x电池寿命80%能卖多少钱)

    苹果x电池寿命80%要换吗(苹果x电池寿命80%能卖多少钱)

  • 怎么关闭书旗会员(如何取消书旗会员)

    怎么关闭书旗会员(如何取消书旗会员)

  • 淘宝个人资料背景怎么改(淘宝个人资料真实姓名)

    淘宝个人资料背景怎么改(淘宝个人资料真实姓名)

  • 小米一键换机微信怎么恢复(小米一键换机微信记录在哪里恢复)

    小米一键换机微信怎么恢复(小米一键换机微信记录在哪里恢复)

  • 如何制作视频网站(如何制作视频网盘)

    如何制作视频网站(如何制作视频网盘)

  • airpods会发光吗(airpods会不会发光)

    airpods会发光吗(airpods会不会发光)

  • 企业官网可以用帝国cms吗(企业官网用什么系统)

    企业官网可以用帝国cms吗(企业官网用什么系统)

  • 中国税收居民判定标准
  • 月薪3万个人所得税是多少
  • 企业前期开办费怎么入账
  • 公司注销单位社保欠费怎么处理
  • 年审和税审的区别是什么
  • 失业保险稳岗返还是政府补助吗
  • 车间管理人工资计入什么科目
  • 定额备用金的账务处理
  • 医疗服务收入占比标准
  • 2019小微企业10万免税需要如何办理
  • 纳税申报的具体流程个体户
  • 现金支票提取现金备用
  • 免税企业以前年收入多少
  • 企业为什么要签订集体合同
  • 在建工程预付款项记入什么会计科目
  • 营改增阶段
  • 公司注销地税时其他应收款要缴纳个人所得税吗?
  • 季初是什么意思
  • 企业可以申请停缴社保吗
  • 残保金和工会经费需要计提吗
  • 财务费用明细科目怎么写
  • 事业基金弥补收支差额
  • 个人所得税人员添加后如何操作
  • 增值税发票备注栏怎么填写
  • 购买库存商品收到发票怎样做分录
  • 出口退税的钱退到哪里了
  • 考后审核是什么时候
  • 所得税退税会计分录为啥要借贷所得税费用
  • 新版edge浏览器极速模式
  • 押金少退侵犯了哪条法律
  • 处理车辆违章送哪个部门
  • 在php中,字符串有哪些表示形式
  • 深度linux使用入门教程
  • redis设置内存淘汰策略
  • php access
  • java桥接模式的应用场景
  • 为什么增值税申报表保存不了
  • 母子公司之间的租赁房屋
  • 房屋出租怎么开电子发票
  • 预提管理费用怎么计算
  • 一个例子解释唯物辩证法三大规律
  • python np数组
  • 织梦cms要钱吗
  • 从在建工程调整到费用
  • 零申报年报需要哪些表格
  • 代收代付保险费分录
  • sql server基本
  • sql server 2008怎么使用sql语句
  • 业务招待费专票可以抵扣吗
  • 银行汇票退票
  • 手机开个人劳务票怎么开
  • 政府补助会计核算
  • 累计折旧的借贷方表示
  • 营业成本增加额公式
  • 上个月的发票可以作废吗
  • 应收账款转回坏账怎么办
  • 蓝字发票怎么作废
  • 电信通讯费发票抬头
  • 什么是递延所得税资产
  • mysql join查询慢
  • 计算机上没有运行windows无线服务
  • ubuntu如何安装
  • stdin命令
  • win7系统扫描在哪里
  • Ubuntu下VirtualBox的vdi文件克隆方法
  • prevsrv.exe - prevsrv是什么进程 有什么用
  • windows中alt+tab
  • linux用户登录
  • libproj.so
  • 导演都有什么分类
  • python jieba用法
  • javascript事件委托的用法及其好处简析
  • jquery监听页面刷新
  • 简略说明本岗位最高风险的防范措施和现场处置方案
  • python截取数据
  • python算法的应用
  • 浙江省增值税勾选平台
  • 城镇土地使用税按月还是按年交
  • 农村报账员的基本职责
  • 北京市注册税务师
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设