Vite的定义和功能
Vite 是一个由 Vue.js 的作者开发的现代前端构建工具,目标是提供一种尽可能快的现代开发体验。"Vite" 在法语中意思是 "快",这也正是其设计的目标之一。
Vite 的功能主要包括:
开发服务器:使用原生的 ES modules 搭建了一个开发服务器,使得开发环境中依赖包的导入变得更加轻巧快速。
构建:Vite 利用 Rollup 打包你的代码,赋予你预构建依赖、按需编译等能力,它可以生成带有更少 JavaScript 和有效的按需加载的最终静态资源。
HMR:Vite 提供了对模块热替换 (HMR) 的开箱即用支持。
CSS 预处理:无需特殊配置即可支持 SCSS、Less 和 Stylus 等 CSS 预处理器。
Vite的主要特点和优势
主要有以下几点:
快速冷启动:传统的前端开发工具(如 webpack)需要在服务器启动时,对整个应用进行构建或预编译。而 Vite 利用原生 ES module 的通信能力,无需进行预编译或者构建即可启动开发服务器。
按需编译:在开发时,Vite 可以在请求时即时编译单个文件,无需提前对整个应用进行编译。
模块热替换:其 HMR 性能远超传统构建工具,修改单个文件即可热替换,无需刷新整个页面就能看到更新。
支持 TypeScript、JSX、CSS Modules 和 PostCSS 等现代前端技术。
原生 ESModule
ESModule 即 ECMAScript Module,是 JavaScript 本身对模块化的定义和实现。原生 ESModule 的支持使得代码可以在浏览器端直接运行,不需要额外的打包和编译,而只需要浏览器解析模块导入语句。
在 Vite 中,当源码被浏览器请求时,Vite 会自动相应模块请求并转换为传统的 CommonJS 或 UMD 格式,然后发送到浏览器端,这使得各模块的导入与加载更加缓和。