Farm是什么
github链接:github.com/farm-fe/far…
用Rust编写的非常快速的兼容Vite的Web构建工具,它的设计是快速,强大和一致的,旨在为Web开发提供最佳体验。官方介绍说 Farm 是真实的下一代构建工具。
Farm好在哪里
Webpack 太慢。Vite也并不完美,Vite在大型项目中也有很多缺点:1.当每个页面有数百或数千个模块时,加载性能严重下降,刷新页面时可能需要数秒或更长时间。2.在开发和生产中使用不同的策略和工具导致的不一致问题,最终很难调试在线问题。3.不灵活的代码分割导致很难控制bundle的输出。
Farm可以完美地解决这些问题, Farm 速度很快、生产和开发一致、灵活的代码分割。
Farm比webpack快20倍,比Vite快10倍。 基准测试:
Farm有哪些特点
- 快速
- 用Rust编写,在毫秒内启动React / Vue项目,并在大多数情况下在20 ms内执行HMR更新。
- 增量构建
- 支持持久缓存,默认开启模块级缓存,任何模块在修改前都不会被编译两次!
- 完全可插拔和Vite兼容
- Farm 一切都由插件驱动,开箱即用支持Vite插件。
- 支持Farm编译插件(Rust和JavaScript插件以及SWC插件)、Farm运行时插件和Farm服务器插件。
- 丰富
- 编译JS/TS/JSX/TSX,CSS,Css模块,HTML和静态资产开箱即用。支持流行框架/工具的官方编译插件,如React,Vue,SolidJs,Sass,Less,Postcss等。
- 自动惰性编译
- 动态导入的资源只在请求时进行编译,加快大型项目的编译速度。只需编写一
个动态导入,导入的模块在执行时不会被编译。
- 动态导入的资源只在请求时进行编译,加快大型项目的编译速度。只需编写一
- 部分捆绑
- 自动将您的项目捆绑到几个捆绑包中,在不损失缓存粒度的情况下加快资源加载。
- 一致性
- 你在开发中看到的将与你在生产中得到的相同。
- 兼容性
- 支持传统(ES 5)和现代浏览器。
Farm 目前发展到什么阶段了
- Vite插件可以直接在Farm中使用。
- 默认情况下启用永久磁盘缓存。
- Farm 1.0已经稳定,生产准备就绪。
- Farm已经实现了Web构建工具的所有功能,包括生产优化,如Tree Shake和Minification。