当前位置: 首页 > 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.pierceye.com/news/204207/

相关文章:

  • 大连外贸网站制作做文案公众号策划兼职网站
  • 400网站建设推广通王网站内容管理系统
  • 上海专业网站制作开发wordpress 一级目录下
  • 要查询一个网站在什么公司做的推广怎么查济南集团网站建设报价
  • 手机静态网站建设课程设计报告形象型网站
  • 网站建设接单渠道百度网站内容
  • 企业网站pv是什么手机网站开发价格
  • 北京网站优化团队oppo开放平台
  • 购物商城外贸网站福州营销型网站建设公司
  • 白酒pc网站建设方案网站不符合个人备案性质
  • 做视频网站程序多少钱免费人体做爰网站
  • 做海外网站 服务器放哪网页设计师通常是设计两套ui吗
  • 海拉尔网站建设做html网站模板下载
  • 为什么网站找不到了东莞智通人才市场招聘官网
  • 如何注册网站名称中国煤炭建设协网站
  • 一个网站为什么做的不好看软件源码成品资源下载网站
  • 网站建设 环讯传媒建设网站要多久到账
  • 溧阳城乡建设厅网站惠州专业网站建设
  • app嵌入手机网站dw旅游网站怎么做
  • wpf做网站烟台做网站工资
  • 做网站公司名字网站建设方案对比分析报告
  • 网站360优化网站开发所需技术
  • 宁河做网站公司wordpress漏洞扫描工具
  • 单位网站建设的目的手机可以做网站服务器吗
  • 上海网站建设有限公司lnmp安装wordpress限权
  • 大航母网站建设服务php一般网站空间多大
  • 中性衣服印花图案设计网站做网站的工作
  • 只做女性的网站编程入门先学什么软件
  • 创客网站建设新余公司做网站
  • 买个网站域名多少钱网站建设 内容缺乏