内容简介:Vite 2.0 正式发布了! Vite(法语意思是 “快”,发音为 /vit/,类似 veet)是一种全新的前端构建工具。你可以把它理解为一个开箱即用的开发服务器 + 打包工具的组合,但是更轻更快。Vite 利用浏览器原生的 ES 模...
Vite 2.0 正式发布了!
Vite(法语意思是 “快”,发音为 /vit/,类似 veet)是一种全新的前端构建工具。你可以把它理解为一个开箱即用的开发服务器 + 打包 工具 的组合,但是更轻更快。Vite 利用浏览器原生的 ES 模块支持和用编译到原生的语言开发的工具(如 esbuild)来提供一个快速且现代的开发体验。
Vite 有多快?在 Repl.it 上从零启动一个基于 Vite 的 React 应用,浏览器页面加载完毕的时候,CRA(create-react-app)甚至还没有装完依赖。
如果你还没听说过 Vite 到底是什么,可以到这里了解一下项目的设计初衷。如果你想要了解 Vite 跟其它一些类似的工具有什么区别,可以参考这里的对比。
2.0 带来了什么
Vite 1.0 虽然之前进入了 RC 阶段,但在发布之前我们决定进行一次彻底的重构来解决一些设计缺陷。所以 Vite 2.0 其实是 Vite 的第一个稳定版本。2.0 带来了大量的改进:
多框架支持
Vite 一开始主要注重于 Vue 的单文件组件支持,但 2.0 基于之前的经验提供了一个更稳定灵活的内部架构,从而可以完全通过插件机制来支持任意框架。现在 Vite 提供官方的 Vue, React, Preact, Lit Element 项目模版,而 Svelte 社区也在开发 Vite 整合方案。
全新插件机制和 API
Vite 2.0 受 WMR 的启发采用了基于 Rollup 插件 API 的设计。很多 Rollup 插件可以跟 Vite 直接兼容。插件可以在使用 Rollup 插件钩子之外使用一些额外的 Vite 特有的 API 来处理一些打包中不存在的需求,比如区分开发 vs 打包,或是自定义的热更新处理。
Vite 的 JS API 也得到了大幅改进 - 已经有不少用户在开发基于 Vite 的上层框架,Nuxt 团队也已经在 Nuxt 3 中验证了初步整合的可行性。
基于 esbuild 的依赖预打包
由于 Vite 是一个基于原生 ESM 的开发服务器,在启动时我们需要通过依赖预打包来达成两个目的:1. 减少模块/请求数量; 2. 支持 CommonJS 依赖。预打包只有在依赖变动时才需要执行,但在有大量依赖的项目中,每次执行还是可能会需要很长时间。Vite 之前是使用 Rollup 来执行这个过程,在 2.0 中我们切换到了 esbuild,使这个过程加快了几十倍。冷启动一个之前需要将近 30 秒预打包的项目现在只需要不到两秒!从 webpack 或其它打包工具迁移到 Vite 应该也会有类似的速度改善。
更好的 CSS 支持
Vite 将 CSS 看作模块系统中的一等公民,并且内置了一下支持:
- 强化路径解析:CSS 中的 @import 和 url() 路径都通过 Vite 的路径解析器来解析,从而支持 alias 和 npm 依赖。
- 自动 URL 改写:所有 url() 路径都会被自动改写从而确保在开发和构建中都指向正确的文件路径。
- CSS 代码分割:构建时每一个被分割的 JS 文件都会自动生成一个对应的 CSS 文件,并且两个文件会被自动并行按需加载。
服务端渲染 (SSR) 支持
Vite 2.0 提供实验性的 SSR 支持。Vite 提供一个灵活的 API 来在 Node.js 中高效率地直接加载 ESM 源码(并且同样有精准的更新而不需要打包)。提供 CommonJS 版本的依赖会在 SSR 时自动被跳过转换直接加载。生产环境下,服务器可以和 Vite 完全解耦。基于 Vite SSR 的架构也可以很方便的做静态预渲染(SSG)。
旧浏览器支持
Vite 默认只支持原生支持 ESM 的现代浏览器,但可以通过官方的 @vitejs/plugin-legacy 来支持旧浏览器。legacy 插件会自动额外生成一个针对旧浏览器的包,并且在 html 中插入根据浏览器 ESM 支持来选择性加载对应包的代码(类似 vue-cli 的 modern mode)。
尝试一下!
功能很多,但是试一下其实很简单。只需要一分钟,用以下命令就可以迅速搭起一个基于 vite 的项目(确保你的 Node.js 版本 >=12):
npm init @vitejs/app
以上所述就是小编给大家介绍的《Vite 2.0 发布》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First Java(第二版·中文版)
Kathy Sierra,Bert Bates 著、杨尊一 编译 张然等 改编 / 杨尊一 / 中国电力出版社 / 2007-2 / 79.00元
《Head First Java》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。 而且不只是读死书,你还会玩游戏、拼图、解谜题以及以意想不到的方式与Java交互。在这些活动中,你会写出一堆真正的Jav......一起来看看 《Head First Java(第二版·中文版)》 这本书的介绍吧!