位置: 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)(冰川湾国家公园的冰川不止有白色一种)

  • 门户网站的网络软文推广(门户网站主要采用什么技术)

    门户网站的网络软文推广(门户网站主要采用什么技术)

  • chrome谷歌浏览器收藏夹在哪(chrome谷歌浏览器下载)

    chrome谷歌浏览器收藏夹在哪(chrome谷歌浏览器下载)

  • 通话中断00接通了没(通话中断0.0)

    通话中断00接通了没(通话中断0.0)

  • 用数据线怎么投屏到电视(用数据线怎么投屏)

    用数据线怎么投屏到电视(用数据线怎么投屏)

  • 打qq电话放歌对方能听见吗(打qq电话的时候放歌对方听得到怎么办)

    打qq电话放歌对方能听见吗(打qq电话的时候放歌对方听得到怎么办)

  • 华为mate30怎么只有一个卡槽(华为mate30怎么只有4g了)

    华为mate30怎么只有一个卡槽(华为mate30怎么只有4g了)

  • 苹果11怎么锁屏不翻转(苹果11怎么锁屏录像)

    苹果11怎么锁屏不翻转(苹果11怎么锁屏录像)

  • qq提醒怎么开(怎样开启qq提醒)

    qq提醒怎么开(怎样开启qq提醒)

  • 快手退款商家不处理到时间了会自动退款不(快手退款商家不回复怎么办)

    快手退款商家不处理到时间了会自动退款不(快手退款商家不回复怎么办)

  • 手机屏幕掉了还能修吗(手机屏幕掉了还能继续用吗)

    手机屏幕掉了还能修吗(手机屏幕掉了还能继续用吗)

  • wps怎么输入平方2(怎么用wps打出平方)

    wps怎么输入平方2(怎么用wps打出平方)

  • 快手小店申请退款不退怎么办(快手小店申请退货退款后地址在哪)

    快手小店申请退款不退怎么办(快手小店申请退货退款后地址在哪)

  • 拼多多有pc端吗(拚多多有电脑版吗)

    拼多多有pc端吗(拚多多有电脑版吗)

  • 路由器wifi6是什么意思(路由器wifi6是啥)

    路由器wifi6是什么意思(路由器wifi6是啥)

  • 打印机很慢怎么回事(打印机很慢怎么解决)

    打印机很慢怎么回事(打印机很慢怎么解决)

  • qq拉黑后对方发信息显示什么(qq拉黑后对方发信息显示什么内容)

    qq拉黑后对方发信息显示什么(qq拉黑后对方发信息显示什么内容)

  • 快手评论别人为什么只有自己看得到(快手评论别人为啥出现别人的网名)

    快手评论别人为什么只有自己看得到(快手评论别人为啥出现别人的网名)

  • gho与iso装系统时有什么区别(ghost和iso安装区别)

    gho与iso装系统时有什么区别(ghost和iso安装区别)

  • 华为高对比度文字在那里(华为高对比度文字在哪里)

    华为高对比度文字在那里(华为高对比度文字在哪里)

  • itunes软件是什么(itunes干啥的)

    itunes软件是什么(itunes干啥的)

  • soul能找到通讯录好友吗

    soul能找到通讯录好友吗

  • 手机qq中的名片在哪里(手机qq 名片)

    手机qq中的名片在哪里(手机qq 名片)

  • 淘宝等待揽收是什么意思(淘宝等待揽收是怎么回事)

    淘宝等待揽收是什么意思(淘宝等待揽收是怎么回事)

  • 声卡在什么位置(声卡装在哪儿)

    声卡在什么位置(声卡装在哪儿)

  • 澳大利亚太平洋海岸的海崖大桥 (© Nick Fox/Alamy)(澳大利亚太平洋银行)

    澳大利亚太平洋海岸的海崖大桥 (© Nick Fox/Alamy)(澳大利亚太平洋银行)

  • 微软输入法卸载教程(微软输入法卸载不了)

    微软输入法卸载教程(微软输入法卸载不了)

  • 个人哪些捐赠可以税前扣除
  • 美元利息结汇时结汇项目是什么
  • 公允价值变动损益影响营业利润吗
  • 个人接受现金捐赠的例子
  • 直接计入当期损益的利得和损失,是指( )的利得或损失
  • 收购别人的公司要具备什么条件
  • 平销返利增值税怎么处理
  • 银行承兑汇票到期日期怎么算
  • 事业单位跨期发票的财务入账问题
  • 自然人增值税免税额
  • 管理咨询公司需要什么条件才能开发票
  • 异地预缴增值税后本地还要交吗
  • 收购发票税率是什么意思
  • 自然人税收申报显示申报失败:未选择纳税人
  • 总公司出货分公司怎么办
  • 进料加工料件需补税的情况
  • 应付账款期末余额是负数是什么意思
  • 总资产报酬率
  • 城建税一定要当月缴纳吗
  • 电子税务局怎么变更财务负责人
  • 电脑检测不到税控盘原因
  • 银行增值税免税收入有哪些
  • bios如何设置光盘启动项
  • 未分配利润是怎么算出来的
  • mac怎么airdrop给ipad
  • 为员工租房租金怎么入账
  • PHP:bzcompress()的用法_Bzip2函数
  • php句法规则详解图
  • 填制的凭证内容有哪些
  • 商品房契税申报是增量房申报吗
  • 亚士顿森林薄雾日出,英国东萨塞克斯郡 (© Tim Stocker Photography/Getty Images)
  • 对个别报表中处置收益的归属期间进行调整
  • 应收账款确认无法收回
  • php判断数组是否为空的函数
  • 销售退换货的账务处理
  • 利息资本化怎么计算
  • Anaconda(python,pycharm)半详细安装教程
  • pytorch torch
  • parted命令详解
  • 短信php源码
  • Using Visual Leak Detector
  • 收到外币收入怎么入账
  • 预付账款的适用范围
  • ubuntu卸载ubuntu-desktop
  • logstash gsub
  • 社保缴费基数应该怎么算
  • 专款专用需要缴税吗
  • 租房合同 陷阱
  • 固定资产处置的账务处理 终于搞明白了!
  • 股东捐赠资产要纳税吗
  • 普惠性幼儿园是公立还是私立的?
  • 房产税应纳税额计算例题
  • 车费报销记入哪个账户
  • 将借款存入银行会计分录
  • 业务提成需要缴纳个人所得税吗?
  • 发票边上的孔有什么用
  • 任何单位和个人都应当()为报警
  • 明细账怎么订起来
  • 判断某个字段的值是否在指定的范围内
  • macOS 10.12.2下PDF崩溃严重怎么回事 macOS 10.12.2下PDF崩溃的原因以及解决办法
  • mac怎么用知云翻译
  • macbook桌面2
  • ConquerCam.exe进程的详细介绍 ConquerCam进程信息介绍
  • quicktimeplayer.exe - quicktimeplayer是什么进程 有什么用
  • win10玩游戏遇到问题需要重新启动
  • pacis.exe - pacis是什么进程 有什么用
  • 如何汉化一个软件
  • win8外接显示器没反应怎么办
  • 炉石传说代码怎么导入
  • 新闻客户端手机版下载
  • js怎么删除
  • 详解16型人格
  • javascript开发app教程
  • unity 动态生成模型
  • javascript delete 使用示例代码
  • 利用python中的运算符可以编程解决你身边的哪些问题
  • javascript none
  • 个体户增值税申报比对不符怎么处理
  • 苏州汇川和深圳汇川那个好
  • 增值税税控开票软件怎么下载
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设