位置: IT常识 - 正文

【vite+vue3.2 项目性能优化实战】使用vite-plugin-cdn-import进行CDN加速优化项目体积(vue3项目搭建)

编辑:rootadmin
原力计划【vite+vue3.2 项目性能优化实战】使用vite-plugin-cdn-import进行CDN加速优化项目体积

推荐整理分享【vite+vue3.2 项目性能优化实战】使用vite-plugin-cdn-import进行CDN加速优化项目体积(vue3项目搭建),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue3.0项目实战视频,vue3项目实战,vue3+ts+vite,vue3+ts+vite,vue3项目案例,vue3.0 vite,vue3项目案例,vue3.0 vite,内容如对您有帮助,希望把文章链接给更多的朋友!

CDN(Content Delivery Network)即内容分发网络,是一种通过在全球范围内分布式部署服务器来加速网络内容传输的技术。CDN加速的原理是,当用户请求访问某个资源时,CDN会根据用户的地理位置和网络状况,自动选择离用户最近的服务器来响应请求。如果该服务器上已经缓存了该资源,CDN会直接将缓存的资源返回给用户,从而减少了网络传输的时间和带宽消耗。

vite-plugin-cdn-import是一个Vite插件,它可以帮助我们在项目中引入CDN资源,从而提高项目的加载速度和性能。使用该插件,我们可以将一些常用的第三方库(如jQuery、Vue、React等)从本地文件中引入改为从CDN中引入,从而减少了网络请求和文件大小,提高了页面的加载速度。

本篇将使用vite-plugin-cdn-import插件 进行CDN加速优化项目。

vite-plugin-cdn-import插件官网:https://github.com/mmf-fe/vite-plugin-cdn-import

一、分析依赖视图

书接上文,我们使用rollup-plugin-visualizer分析依赖视图: 分析上图,我们发现整个项目依赖为581KB,其中vue体积占比42.75%,248.75KB大小,其次是vue-router占比17.56,而vue中的runtime-core/dist/runtime-core.esm-bundler.js这个包体积是最大的,181KB大小,占用整体消耗为31.12%。 使用Lighthouse分析过后发现首屏加载时间达到了惊人的7.7s,这是用户难以容忍的,先抛开别的原因不说,我们先使用cdn加速看看能降低多少。

二、CDN加速2.1、CDN管理插件vite-plugin-cdn-import

首先下载CDN管理插件依赖:npm install vite-plugin-cdn-import --save-dev

配置vite.config.ts,步骤与之前配置插件类似,先import依赖 import importToCDN from "vite-plugin-cdn-import"或者import { Plugin as importToCDN } from "vite-plugin-cdn-import"

【vite+vue3.2 项目性能优化实战】使用vite-plugin-cdn-import进行CDN加速优化项目体积(vue3项目搭建)

再将插件配置到plugins中;

再配置modules参数,参数的意义也很简单。 name:表示模块的名称 var:表示模块在全局作用域中的变量名,如果该属性未指定,则默认使用模块的名称作为变量名。path:表示模块在CDN中的路径。

import { Plugin as importToCDN } from "vite-plugin-cdn-import"export default defineConfig({ plugins: [ vue(), visualizer({ open: true, //注意这里要设置为true,否则无效 filename: "stats.html", //分析图生成的文件名 gzipSize: true, // 收集 gzip 大小并将其显示 brotliSize: true, // 收集 brotli 大小并将其显示 }), importToCDN({ modules: [ { name: "***", var: "***", path: "********", }, ], }), ],2.2、配置需要加速的依赖

国内外优秀的CDN 加速服务站点有很多,大家可以根据自己的需要选择,要注意的是:Vite 不会重写从外部文件导入的内容,我们需要使用支持 ESM 编译的 CDN站点

首先在package.json中查看自己需要加速的依赖的版本号,如vue是3.2.45的:

进入bootcdn后,根据自己的版本号找到对应的CDN网址: 复制,然后将其粘贴到对应的path当中,如:

importToCDN({ modules: [ { name: "vue", var: "Vue", path: "https://unpkg.com/vue@3/dist/vue.global.js", }, ], }),

当然要图简单的话,vite-plugin-cdn-import还为我们提供了自动导入CDN的功能(autoComplete),有很多常用的依赖不需要自己再找(如vue、reac、antd、axios等),autoComplete功能可以在文档中查找使用。

2.3、记得在main.ts中引入模块

就是在main.ts引入对应模块然后挂载,注意名称要和你CDN加速的name名称相同,不然引不进来,一般不用怎么修改,只有遇到问题后再检查一下自己是不是忘记引入或者引入错误了。

最后,别忘了npm run build重新打包!

三、分析优化效果

重新打包后,视图如下: 可以看到,原先的vue依赖包和vue-router依赖包全部消失了,整个项目依赖缩小到了72.53KB(原先是五百多KB)。这是因为我们使用了CDN加速,这两个以后不再单独打包到项目当中,大大降低了整个项目的体积。

四、注意

需要注意以下几点:

CDN资源的版本问题:使用CDN资源时,需要注意资源的版本问题。如果使用的是不稳定的版本,可能会导致一些问题。建议使用稳定版本的CDN资源。CDN资源的可用性:使用CDN资源时,需要注意资源的可用性。如果使用的CDN资源不可用,可能会导致您的应用程序无法正常运行。建议使用可靠的CDN服务提供商,并在必要时自己搭建CDN服务,推荐使用:腾讯云CDN服务环境的配置:开发环境和部署环境CDN加速的方式可能不一样。

CDN加速虽然可以提高网站的访问速度和用户体验,但是也需要投入一定的成本和精力进行部署和管理,同时需要注意安全和缓存管理问题。

本文链接地址:https://www.jiuchutong.com/zhishi/293736.html 转载请保留说明!

上一篇:股东以固定资产入股怎么做账(股东以固定资产入股需要交税吗)

下一篇:冰川湾国家公园里的兰普鲁冰川,美国阿拉斯加州 (© Andrew Peacock/Getty Images)(冰川湾国家公园的冰川不止有白色一种)

  • b站评论记录哪去了(b站评论的视频在哪看)

    b站评论记录哪去了(b站评论的视频在哪看)

  • 短信找回手机服务密码(找回短信功能在哪里)

    短信找回手机服务密码(找回短信功能在哪里)

  • 华为音乐怎么卸载(怎么能把华为音乐卸载)

    华为音乐怎么卸载(怎么能把华为音乐卸载)

  • 抖音显示昨天在线什么意思(抖音显示昨天在线是几个小时前)

    抖音显示昨天在线什么意思(抖音显示昨天在线是几个小时前)

  • 华为mate30pro屏幕上的小圆圈怎么去掉(华为mate30pro屏幕材质)

    华为mate30pro屏幕上的小圆圈怎么去掉(华为mate30pro屏幕材质)

  • 抖音小店只能对公账户吗(抖音小店只能在直播中呈现吗)

    抖音小店只能对公账户吗(抖音小店只能在直播中呈现吗)

  • 手环有辐射吗(手环有辐射吗?)

    手环有辐射吗(手环有辐射吗?)

  • URL有哪三部分组成(url的组成部分)

    URL有哪三部分组成(url的组成部分)

  • 退群后群里人知道吗(退群后群里人知道退群人发的内容吗)

    退群后群里人知道吗(退群后群里人知道退群人发的内容吗)

  • touch是什么手机(TOUCH是什么手机型号)

    touch是什么手机(TOUCH是什么手机型号)

  • 华为手机桌面透明度设置在哪(华为手机桌面透明图标怎么恢复)

    华为手机桌面透明度设置在哪(华为手机桌面透明图标怎么恢复)

  • 软件出现闪退是什么原因(软件出现闪退问题)

    软件出现闪退是什么原因(软件出现闪退问题)

  • 抖音作品为什么没有播放量(抖音作品为什么不能保存本地)

    抖音作品为什么没有播放量(抖音作品为什么不能保存本地)

  • 手机千牛怎么交保证金(手机千牛怎么交2000罚款)

    手机千牛怎么交保证金(手机千牛怎么交2000罚款)

  • 小米8青春版支不支持闪充(小米8青春版支持nfc功能吗)

    小米8青春版支不支持闪充(小米8青春版支持nfc功能吗)

  • 唯品会怎么使用闪付(唯品会怎么使用爱购优惠券)

    唯品会怎么使用闪付(唯品会怎么使用爱购优惠券)

  • 闪电退款不退货会怎样(闪电退货卖家可以拒绝吗)

    闪电退款不退货会怎样(闪电退货卖家可以拒绝吗)

  • 如何退掉哔哩哔哩电话卡(如何退掉哔哩哔哩自动续费)

    如何退掉哔哩哔哩电话卡(如何退掉哔哩哔哩自动续费)

  • 路由器的开关按钮在哪(路由器开关按键自动弹起)

    路由器的开关按钮在哪(路由器开关按键自动弹起)

  • iphone x发热怎么解决(iphone x 发热)

    iphone x发热怎么解决(iphone x 发热)

  • qq特别关心怎么查看(qq特别关心怎么看关心我的人是谁)

    qq特别关心怎么查看(qq特别关心怎么看关心我的人是谁)

  • vivo的桌面小插件在哪(vivo手机桌面小插件怎么弄出来)

    vivo的桌面小插件在哪(vivo手机桌面小插件怎么弄出来)

  • 超话怎么看自己的帖子(超话怎么看自己被屏蔽了几天)

    超话怎么看自己的帖子(超话怎么看自己被屏蔽了几天)

  • 微软常用运行库合集有什么用(微软常用运行库是干嘛的)

    微软常用运行库合集有什么用(微软常用运行库是干嘛的)

  • ipadmini1234套通用吗(ipadmini全系列)

    ipadmini1234套通用吗(ipadmini全系列)

  • qq飞车手游结婚需要什么(qq飞车手游结婚怎么弄)

    qq飞车手游结婚需要什么(qq飞车手游结婚怎么弄)

  • 荣耀10如何设置锁屏图片(荣耀10如何设置桌面时间)

    荣耀10如何设置锁屏图片(荣耀10如何设置桌面时间)

  • 数据分析| Pandas200道练习题,使用Pandas连接MySQL数据库(数据分析课)

    数据分析| Pandas200道练习题,使用Pandas连接MySQL数据库(数据分析课)

  • 捐赠税前扣除比例表
  • 用于非增值税应税项目、免征增值税项目
  • 计提附加税的会计分录
  • 我公司租了个人的房子如何入账
  • 驾驶员培训服务税率
  • 采购人员的差旅费计入采购成本吗?
  • 金蝶可以自动结转成本吗
  • 库存现金的使用范围
  • 购买方已抵扣开具红字信息表之后做账需要什么原始凭证
  • 定期存款准备金是什么
  • 技术转让费为什么那么贵
  • 应付未付的款项如何税务处理
  • 广告媒体类的企业怎么核算成本?
  • 存货毁损计入
  • 备品的定义
  • 税控盘维护费是普票能全额抵扣吗
  • 一般纳税人注销需要多少钱
  • 销售退货成本如何计算
  • 忘了结转成本怎么办
  • 融资租赁业务如何纳税
  • 增值税销售额怎么看
  • 限额领料单是一种多次使用的
  • 工会经费的银行怎么入账
  • 1000元的打印机双十一满减可以减150吗少
  • 冲减多计提的工会经费调账说明
  • 银行承兑汇票开出后多久可以签收
  • centos只有lo
  • 在win7中,如何创建一个TXT文件
  • php
  • 嵌套if怎么用
  • php提高性能
  • nginx apache php
  • 免税有那些
  • 固定资产清理属于什么类科目
  • 高新企业技术服务成本核算
  • 高新技术企业取消资格的程序
  • 简单谈谈php中的安全性
  • devtools安装mac
  • vue路由使用方法
  • imx6ul开源项目
  • thinkphp5微信公众号开发
  • 基建拨款会计分录
  • 企业所得税外地预缴几个点
  • 股票印花税和佣金是一样的吗
  • 应收票据的核算内容
  • 专票没有抵扣联可以作废吗
  • 个体工商户核算方式填什么
  • 个税更改公司怎么操作
  • 年底计提坏账收回一部分怎么处理
  • 增值税发票的抵扣期限
  • 房地产企业成本包括哪些
  • 外资企业可以融资吗
  • 固定资产已提完折旧,但仍在使用,需要定期清理吗?
  • 股权激励费用摊销意思是
  • 未付工程款范围内承担
  • 小规模季度没超过45万怎么纳税增值税
  • 应当设置会计机构的单位有
  • 卡片式账簿的优点是能够避免账页散失
  • 明细账设置是什么意思
  • CentOs7.x安装Mysql的详细教程
  • linux介绍视频
  • window10的cmd命令
  • Red Hat Enterprise Linux AS4( 企业版4.0下载)
  • 特俗字符
  • mozilla是啥
  • debian 单网卡设置双ip
  • win7英文输入法
  • 删除系统桌面
  • python等于和双等于
  • unity 3d脚本编程
  • 用户允许控制
  • websocket协议解析
  • python编程字符串中删除数字
  • shell 查找文件并赋值shell变量
  • python日志管理系统
  • javascript总结笔记
  • unity怎么做触屏按键
  • javascript的基本数据
  • 咸阳国税局长是哪里人
  • 欧美 房产税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设