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

推进政府网站建设的措施/厦门网站建设公司

推进政府网站建设的措施,厦门网站建设公司,合肥最好的网站建设公司哪家好,伊利牛奶企业网站建设一、现实问题 在浏览器支持 ES 模块之前,JavaScript 并没有提供原生机制让开发者以模块化的方式进行开发。这也正是我们对 “打包” 这个概念熟悉的原因:使用工具抓取、处理并将我们的源码模块串联成可以在浏览器中运行的文件。 时过境迁,我…

一、现实问题

在浏览器支持 ES 模块之前,JavaScript 并没有提供原生机制让开发者以模块化的方式进行开发。这也正是我们对 “打包” 这个概念熟悉的原因:使用工具抓取、处理并将我们的源码模块串联成可以在浏览器中运行的文件。

时过境迁,我们见证了诸如 webpack、Rollup 和 Parcel 等工具的变迁,它们极大地改善了前端开发者的开发体验。

然而,当我们开始构建越来越大型的应用时,需要处理的 JavaScript 代码量也呈指数级增长。包含数千个模块的大型项目相当普遍。基于 JavaScript 开发的工具就会开始遇到性能瓶颈:通常需要很长时间(甚至是几分钟!)才能启动开发服务器,即使使用模块热替换(HMR),文件修改后的效果也需要几秒钟才能在浏览器中反映出来。如此循环往复,迟钝的反馈会极大地影响开发者的开发效率和幸福感。

Vite 旨在利用生态系统中的新进展解决上述问题:浏览器开始原生支持 ES 模块,且越来越多 JavaScript 工具使用编译型语言编写。

二、缓慢的服务器启动

当冷启动开发服务器时,基于打包器的方式启动必须优先抓取并构建你的整个应用,然后才能提供服务。

Vite 通过在一开始将应用中的模块区分为 依赖源码 两类,改进了开发服务器启动时间。

  • 依赖 大多为在开发时不会变动的纯 JavaScript。一些较大的依赖(例如有上百个模块的组件库)处理的代价也很高。依赖也通常会存在多种模块化格式(例如 ESM 或者 CommonJS)。

    Vite 将会使用 esbuild 预构建依赖。esbuild 使用 Go 编写,并且比以 JavaScript 编写的打包器预构建依赖快 10-100 倍。
  • 源码 通常包含一些并非直接是 JavaScript 的文件,需要转换(例如 JSX,CSS 或者 Vue/Svelte 组件),时常会被编辑。同时,并不是所有的源码都需要同时被加载(例如基于路由拆分的代码模块)。

    Vite 以 原生 ESM 方式提供源码。这实际上是让浏览器接管了打包程序的部分工作:Vite 只需要在浏览器请求源码时进行转换并按需提供源码。根据情景动态导入代码,即只在当前屏幕上实际使用时才会被处理。

    在这里插入图片描述
    在这里插入图片描述

三、缓慢的更新

基于打包启动时,当源文件被修改后,重新构建整个包是低效的,原因显而易见:更新速度会随着应用体积的增加而线性下降。

一些打包器的开发服务器将构建内容存入内存,这样它们只需要在文件更改时使模块图的一部分失活[1],但它也仍需要整个重新构建并重载页面。这样代价很高,并且重新加载页面会消除应用的当前状态,所以打包器支持了动态模块热替换(HMR):允许一个模块 “热替换” 它自己,而不会影响页面其余部分。这大大改进了开发体验 —— 然而,在实践中我们发现,即使采用了 HMR 模式,其热更新速度也会随着应用规模的增长而显著下降。

在 Vite 中,HMR 是在原生 ESM 上执行的。当编辑一个文件时,Vite 只需要精确地使已编辑的模块与其最近的 HMR 边界之间的链失活[1](大多数时候只是模块本身),使得无论应用大小如何,HMR 始终能保持快速更新。

Vite 同时利用 HTTP 头来加速整个页面的重新加载(再次让浏览器为我们做更多事情):源码模块的请求会根据 304 Not Modified 进行协商缓存,而依赖模块请求则会通过 Cache-Control: max-age=31536000,immutable 进行强缓存,因此一旦被缓存它们将不需要再次请求。

一旦你体验到 Vite 的神速,你是否愿意再忍受像曾经那样使用打包器开发就要打上一个大大的问号了。

四、为什么生产环境仍需打包

尽管原生 ESM 现在得到了广泛支持,但由于嵌套导入会导致额外的网络往返,在生产环境中发布未打包的 ESM 仍然效率低下(即使使用 HTTP/2)。为了在生产环境中获得最佳的加载性能,最好还是将代码进行 tree-shaking、懒加载和 chunk 分割(以获得更好的缓存)。

要确保开发服务器和生产环境构建之间的最优输出和行为一致并不容易。所以 Vite 附带了一套 构建优化 的 构建命令,开箱即用。

五、Vite 与 X 的区别是?

可以查看 比较 章节获取更多细节,了解 Vite 与同类工具的异同。

http://www.jmfq.cn/news/5360563.html

相关文章:

  • 邯郸住房城乡建设厅网站/中国科技新闻网
  • 电子商务网站建设规划书/聊城今日头条最新
  • 91大神网站建设/参考网是合法网站吗?
  • 深圳市建设厅官方网站/注册网站流程和费用
  • 密云重庆网站建设/武汉网站排名推广
  • 南宁市建设局网站/app排名优化公司
  • 广州口碑好的网站建设/百度推广营销
  • 鞍山建设集团网站/网络口碑营销案例分析
  • 县政府网站建设工作任务/推广获客
  • 网站建设网站优化相关资讯文章/江苏网页定制
  • 政府网站内容建设管理规范/成人职业技能培训有哪些项目
  • 宁夏建设工程招标投标信息管理中心网站/百度公司招聘
  • 汝阳县住房与城乡建设局建局网站/电商网站如何避免客户信息泄露
  • 企业网站建设上机考试/百度2022新版下载
  • 最好网站建设公司/网络销售推广公司
  • 陕西建设厅网站人才库/网络营销方案
  • 广州乐地网站建设公司/湖北荆门今日头条
  • 电子商务网站建设前期准备/软文代写新闻稿
  • 创新的品牌网站建设/厦门百度公司
  • 网站建设在马来西亚/杭州市优化服务
  • 洛阳网站建设seo/天津百度推广排名
  • 公司建设网站费用属于什么费用/产品推广运营的公司
  • 网站建设维护工作职责/房地产网站模板
  • 中国建设银行官网站保本理财/优化网站的目的
  • 网站建设 工作职责/百度seo排名优化公司
  • 网站建设通讯稿/河北seo人员
  • 网站建设的主要流程/今天最新新闻
  • 网站建设数据/营销成功的案例
  • 外贸鞋的网站建设/全网网络营销
  • 大连网站建设腾讯大厦/win10优化大师怎么样