ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Vite3 中的新功能以及如何迁移它!

2022-09-14 00:35:03  阅读:292  来源: 互联网

标签:功能 js 导入 模板 Vite3 vitejs 迁移 Vite


Vite3 中的新功能以及如何迁移它!

Vite 3

自首次发布以来,Vite.js 在开发者社区中的受欢迎程度大幅提升。每周 npm 下载量超过 100 万次,并在 2021 年 js 状态的库列表中名列前茅 , 随着越来越多的框架现在采用 Vite 作为他们的默认工具选项,已经出现了起义。

Nuxt 3 默认使用 Vite,最近 Laravel 也采用了套件。 Vite 中还内置了一些非常新的框架,包括 Sveltekit、Astro、Hydrogen 和 SolidStart。可以肯定地说,Vite 在前端开发生态系统中已经变得非常重要。

在 Vite 2 发布 16 个月后,Vite 团队最近宣布发布 Vite 3。Vite 的主要版本每年至少发布一次,以便与 Node.js 版本的生命周期结束保持一致,并定期审查 Vite 的 API ,本质上为生态系统中的项目创建了更短的迁移路径。

在本文中,我们将介绍 Vite 3 附带的一些主要更新,并讨论如何从 Vite 2 迁移到 Vite 3。

主要 Vite 3 更新:

兼容性和 ES 模块更新

Vite 不再支持已达到 EOL 的 Node v12。 Vite 现在需要节点 14.18+ 才能运行。

Vite 现在以 ECMAScript 模块 (ESM) 的形式发布,带有 CJS 代理到 ESM 条目以实现兼容性。这对每个人来说都是个好消息,尤其是 ESM 爱好者,因为这保证了对开发人员更友好的体验。此外,现代浏览器基线现在针对支持本机 ES 模块和本机 ESM 动态导入和 import.meta 的浏览器

新的 Vite 文档

Vite 3 带有全新的令人耳目一新的文档外观,以 Vitepress 作为其默认主题。 Vitepress 是一个新的 Vite + Vue 驱动的静态站点生成器。它旨在成为一个简单、强大且高性能的静态站点生成器框架和其他站点,例如 齿轮 , vite-插件重量VitePress 本身是使用 Vitepress 构建的。

Vite 2 文档仍可在 v2.vitejs.dev 现在有一个新的子域 main.vitejs.dev ,其中对 Vite 主分支的每个提交都是自动部署的。这在测试 Vite 的 beta 版本时很有用。

next generation framework for frontend.

Webiste illustration of https://vitejs.dev/

创建 Vite 入门模板

create-vite 模板是使用您选择的框架快速测试 vite 的最直接的选项。 Vite 3 根据新文档为所有模板提供了新主题。在这里查看它们:

这个主题在所有模板中共享,作为 Vite 的最小起点。但是,如果您想要一个更完整的解决方案,其中包括 linting、测试设置和其他功能,框架如 Vue 苗条 有官方 Vite 驱动的模板。可以在此处找到社区维护的模板列表: 真棒Vite .

开发和构建改进

让我们看看在 Vite 3 中对开发/构建体验所做的其他一些改进。

  • 快速命令行: Vite CLI 进行了美学升级,其默认服务器端口现在为 5173,预览服务器侦听在 4173。这确保了 Vite 将避免与其他工具发生冲突。

Vite CLI

  • 冷启动改进: Vite 现在可以避免在冷启动期间在爬取初始静态导入模块时插件注入导入时完全重新加载。
  • 导入.meta.glob: 在 V3 中添加了对 import.meta.glob 的更新,例如命名导入和自定义查询。您可以在 全局导入指南
  • WebAssembly 导入: WebAssembly 导入 API 已经过修订,以避免与未来标准发生冲突并使其更加灵活。阅读更多 WebAssembly 指南
  • 改进的相关基础支持: Vite 3 现在正确支持相对基础(使用 base: ''),允许将构建的资产部署到不同的基础而无需重新构建。当在构建时不知道基础时,这很有用,例如在部署到内容可寻址网络时 IPFS .
  • 束大小减小: Vite 3 的发布规模比其前身 (Vite 2) 减少了 30%

Bundle size of project using vitejs

从 Vite 2 迁移到 Vite 3

尽管 Vite 3 是最近发布的,但生态系统中的大多数框架已经在迁移。 Vite 团队组建 快速生态系统 针对 Vite 的主分支运行生态系统中领先参与者的 CI,并在引入回归之前及时收到报告。

从 Vite 2 迁移到 Vite 3 应该就像更新依赖项一样。为了成功迁移到 Vite 3,请确保您已考虑以下事项:

Node.js 支持: 确保您已安装 Node.js 14.18+/16+。不再支持 Node.js 的 12/13/15 版本。

浏览器支持: Vite 现在针对支持 原生 ES 模块 , 本机 ESM 动态导入 , 和 导入.meta

此类浏览器包括:

  • 铬 >=87
  • 火狐 >=78
  • 野生动物园 >=13
  • 边缘 >=88

只有一小部分用户需要使用 @vitejs/plugin-legacy , 它将自动生成遗留块和相应的 ES 语言特性 polyfill。

配置选项更改: 请注意以下在 V2 中已弃用且现已在 V3 中删除的配置选项。

这些是迁移之前需要注意的一些主要变化。但是,建议您查看 迁移指南 在将您的项目从 Vite 2 迁移到 Vite 3 之前,请参阅官方文档。

掌握 Vite

如果您有兴趣深入了解 Vite,请查看 Vue Mastery 课程 使用 Vite 快速构建 ,由其创建者 Evan You 教授。

如果没有 Vite 团队和生态系统维护者的共同努力,Vite 的发展是不可能实现的。如果您有兴趣帮助改进 Vite,最好的入门方法是帮助识别和修复 问题 , 加入 不和谐 并为文档做出贡献或帮助创建插件来改进 Vite 的 DX。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/35096/14161400

标签:功能,js,导入,模板,Vite3,vitejs,迁移,Vite
来源: https://www.cnblogs.com/amboke/p/16691510.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有