当前位置: 首页 > news >正文

在征婚网站上认识做期货淮安网站建设优化

在征婚网站上认识做期货,淮安网站建设优化,更改wordpress语言设置,wordpress盈利Vite主要由两个部分组成 开发服务器 基于原生ES模块#xff08;ESM#xff09;提供开发环境支持。提供了丰富的内建功能#xff0c;如速度快到惊人的模块热更新#xff08;HMR#xff09;。这意味着开发者在修改代码时#xff0c;可以实时地看到更新效果#xff0c;而…Vite主要由两个部分组成 开发服务器 基于原生ES模块ESM提供开发环境支持。提供了丰富的内建功能如速度快到惊人的模块热更新HMR。这意味着开发者在修改代码时可以实时地看到更新效果而无需重新加载整个页面。利用现代浏览器的原生ES模块支持将开发过程中的构建步骤推迟到了运行时从而大大减少了启动时间。 构建指令 使用Rollup作为打包工具可以生成更小、更优化的代码块确保生产环境的应用加载速度快。Rollup是一个基于ES6的模块打包工具其打包的文件小且干净执行效率更高更专注于JS打包并支持Tree-shaking通过工具“摇”掉JS文件中用不到的代码是一个性能优化的范畴。构建指令是预配置的开箱即用可以输出用于生产环境的高度优化过的静态资源。 Vite有哪些主要特性: 冷启动优化Vite采用原生ESM作为模块系统的实现避免了传统打包工具在启动时的长时间编译过程从而实现了极速的冷启动。热模块替换HMRVite内置了热模块替换功能可以在不刷新页面的情况下实时更新模块代码提高开发效率。原生ESM支持Vite直接利用浏览器对ESM的支持无需额外转换使得代码更加原生、高效。插件化扩展Vite支持通过插件进行扩展开发者可以根据自己的需求定制开发流程。 Vite的实现原理 Vite的实现原理主要基于原生ESM、Rollup以及WebSocket等技术。 原生ESMVite利用浏览器对ESM的原生支持将项目中的模块按照ESM的规范进行组织。在开发过程中Vite只会处理被引用的模块而不会对整个项目进行打包从而实现了极速的冷启动。Rollup虽然Vite没有直接采用Webpack作为打包工具但它借鉴了Rollup的思想。Rollup是一个轻量级的模块打包器它采用基于ESM的tree shaking技术可以去除未使用的代码减少打包体积。Vite在构建生产环境代码时会利用Rollup进行打包。因此Vite还附带了一套 构建优化 的 构建命令开箱即用。WebSocket为了实现热模块替换功能Vite使用WebSocket在服务器和客户端之间建立了一个长连接。当文件发生变化时服务器会通过WebSocket将更新后的模块发送给客户端客户端收到更新后会替换掉原有的模块实现热更新。 1.基于ESM的 Dev Server 在Vite出现之前传统的打包工具如Webpack通常会在启动开发服务器之前解析所有依赖并进行打包构建。这意味着Dev Server必须等待所有模块构建完成即使在开发过程中只修改了一个子模块整个bundle文件也会重新打包导致启动时间随着项目规模增大而变长。 相比之下Vite充分利用了浏览器对ESM的原生支持。当代码执行到模块加载时浏览器会动态地下载导入的模块而不需要等待整个项目的构建完成。这种动态加载的方式实现了即时编译使得暂时未用到的路由不会参与构建过程。因此随着项目规模的增大和路由的增加Vite的构建速度不会受到影响。 2. 基于ESM的 HRM 热更新 模块标识符的处理Vite 在处理模块时通过识别 import 语句中的模块标识符可以动态地构建出模块之间的依赖关系图。WebSocket 通信Vite 启动一个 WebSocket 服务器用于与客户端建立持久连接实现双向通信。通过 WebSocketVite 可以向客户端发送消息告知其发生了模块变化并触发热更新操作。模块替换当开发者修改了某个模块的代码后Vite 检测到变化后会重新编译并构建该模块。然后Vite 通过 WebSocket 向客户端发送更新消息告知客户端有模块发生了变化。客户端处理客户端接收到更新消息后会根据更新消息中的信息以及之前构建好的模块依赖关系图进行相应的模块替换操作。具体来说它会以非阻塞的方式请求被更新的模块然后将新的模块代码插入到当前页面中完成热更新操作。局部更新Vite 可以实现局部更新即仅更新发生变化的模块而不需要重新加载整个应用程序。这样可以显著减少开发过程中的刷新时间提高开发效率。 总的来说Vite 利用了浏览器原生对 ES 模块的支持通过 WebSocket 实现了与客户端的实时通信从而实现了基于 ESM 的热模块替换功能。这种实现方式使得开发者可以更快地看到代码修改后的效果加快了开发迭代速度。 3. Vite实现的核心流程 启动服务器 Vite首先启动一个开发服务器该服务器使用原生ESMECMAScript模块规范。服务器同时创建一个WebSocket连接用于实现与浏览器的实时通信。 解析请求 当浏览器请求一个模块例如通过script typemodule标签引入的JavaScript文件时Vite服务器接收请求。服务器解析请求确定要加载的模块。 模块转换 如果请求的模块需要转换例如使用Vue或React等框架编写的组件Vite会调用相应的插件或转换器进行处理。转换后的模块被缓存起来以便后续请求可以更快地提供服务。 发送模块到浏览器 Vite服务器将处理后的模块作为HTTP响应发送给浏览器。浏览器接收到模块后按照ESM规范进行加载和执行。 文件监听与热更新 Vite服务器使用文件系统监听器如chokidar来监控项目文件的变化。当文件发生变化时例如保存了一个源代码文件Vite会重新处理受影响的模块。通过WebSocket连接Vite将更新后的模块发送给浏览器。浏览器接收到更新后使用HMR热模块替换机制替换旧模块无需重新加载整个页面。 构建生产环境代码 当需要构建生产环境的代码时Vite会使用Rollup或其他打包工具进行打包。打包过程会进行代码优化、压缩和分割等操作以减小最终代码的体积并提高加载性能。打包完成后生成的生产环境代码可以部署到服务器上供用户访问。
http://www.zqtcl.cn/news/204207/

相关文章:

  • 新余 网站建设公司浏览不良网页的危害
  • 长春做网站哪里好西安有什么网页设计公司
  • 昆明网站建设精英免费自己建网页
  • 网站开发框架 开源买的有域名怎么做网站
  • 为什么做电商网站成都在哪建设网站
  • 有没有做请帖的网站南漳网站制作
  • 项目信息网站哪个好企业开展网络营销方案
  • 网站开发制作费入会计科目做毕业设计个人网站任务书
  • 自己建一个网站微信指数官网
  • 产品推广网站模板哪里有做网站的素材
  • 网站界面要素村网站开设两学一做栏目
  • 临沂免费模板建站河北邢台手机网站建设
  • 企业网站栏目规划的重要性wordpress改变为中文
  • 云服务器怎么上传网站个人建一个网站多少钱
  • 东莞网站建设包装制品flash网站制作
  • 办网站怎么赚钱做二手电脑的网站
  • 大型电子商务网站建设成本旅游网站前台怎么做
  • 深圳网站建设..网站点击图片放大
  • 上海企业扶持政策洛阳400电话洛阳网站seo
  • 保亭县住房城市建设局网站app免费制作平台下载
  • 抚州市建设局网站在网站做商城平台需要哪些资质
  • 潍坊专业网站建设多少钱素马设计官网
  • 深圳网站建设 套餐近期新闻事件
  • 网站开发外包维护合同淘宝客源码程序 爱淘宝风格+程序自动采集商品 淘宝客网站模板
  • 烟台企业网站开发军事新闻最新24小时
  • wordpress网站更换域名网站空间建站
  • 十堰网站建设公司电话网页设计与制作教程江西高校出版社
  • 英文网站seo常州建设局考试网站
  • wordpress 多网站哈尔滨 建网站
  • 免费网站源代码怎么制作网站教程