构建工具
前端工程的核心要素是各种文件资源 同时我们需要兼顾:
- 模块化:ESM,CommonJS,UMD
- 提供模块加载方案
- 兼容不同的模块规范
- 资源编译:高级语法
- 高级语法转义,如Sass, TypeScript
- 资源加载,如图片,字体,worker
- 产物质量:代码体积,代码性能
- 压缩
- 无用代码删除
- 语法降级
- 开发效率:热更新
Vite是新一代前端构建工具 作为一个基于浏览器原生ESM的构建工具,它省略了开发环境的打包过程,利用浏览器去解析imports,在服务端按需编译返回 同时,在开发环境拥有速度快到惊人的模块热更新,且热更新的速度不会随着模块增多而变慢 包含:
- No-bundle开发服务(源文件不用打包)
- 生产环境基于Rollup的Bundler
核心特征:
- 高性能
- 简单
Vite的主要特性有:
- Instant Server Start —— 即时服务启动
- Lightning Fast HMR —— 闪电般快速的热更新
- Rich Features —— 丰富的功能
- Optimized Build —— 经过优化的构建
- Universal Plugin Interface —— 通用的Plugin接口
- Fully Typed APIs —— 类型齐全的API
由于
- 浏览器对原生ESM普遍支持
- 基于原生语言(Go, Rust)编写的前端编译工具链日益成熟
- 如GO写的Esbuild,Rust写的SWC