比 Vite 还快!兼容 Vite 生态!
哈喽,大家好 我是
xy
👨🏻💻。今天给大家分享一个基于Rust
的极速构建引擎工具 ——Farm
!!!
前言
在前端开发的世界里,构建速度
一直是衡量工具性能
的关键指标。
Webpack
、Rollup
、Vite
等构建工具以其独特的优势,推动了前端工程化的进程。
然而,随着项目规模的日益庞大,传统的构建工具开始显得力不从心。
今天,我们将一起探索一个全新的构建工具 —— Farm
,它基于 Rust
语言,以前所未有的速度,重新定义了前端构建的性能标准
。
什么是 Farm
Farm
是一个非常快的基于 Rust
的 Web 构建工具,类似 webpack
和 vite
,但更快。
farm resolve
, load
, transform
所有 asset
(js/jsx/ts/tsx、css/sass/less、html、静态资源、json 等),并将它们打包成一系列可部署文件。
Farm 是一个速度极快的构建工具
,可帮助您构建更快的 web/nodejs
应用程序。
Farm 的性能优势
Farm 的性能表现让人印象深刻。
根据最新的性能对比数据,Farm 在多个关键指标上均优于 Vite
:
- 冷启动速度对比:
- 热启动速度对比:
- 热更新 (根模块)速度对比:
- 热更新 (子模块)速度对比:
- 冷构建速度对比:
- 热构建速度对比:
这些数据背后,是 Farm 强大的编译能力
和优化策略
。
更多关键指标性能请移步
benchmark
:https://github.com/farm-fe/performance-compare
Farm 的核心特性
Farm 的设计理念和技术实现,是其性能优势的基石:
- 超级快的编译速度:所有编译工作由 Rust 实现,利用 Rust 的性能优势,实现毫秒级的项目启动和
2ms
的HMR
更新。 - 丰富的编译能力:默认支持
Html
、Css
、Js
、Jsx
、Ts
、Tsx
、静态资源
等模块的编译,满足前端开发的各种需求。 - 懒编译策略:Farm 采用
按需编译
的方式,仅在模块加载时进行编译,进一步优化了启动速度。 - 插件化架构:Farm 的所有功能都可以通过插件进行扩展,支持
Rust
和Js
插件,提供了极大的灵活性,开箱即用支持 Vite 插件
。 - 开发与生产环境的一致性:Farm 确保开发环境和生产环境的
编译行为一致
,避免了环境不一致带来的问题。 - 局部 Bundle:Farm 根据模块依赖和资源大小,智能地将项目拆分成多个小 Bundle,提升了资源
加载速度
和缓存
命中率。
支持的前端框架
Farm 支持多种主流前端框架
,并且 Farm 提供了简洁的 CLI
工具,使得项目的创建、开发和构建变得异常简单:
- 使用
Farm
创建项目:
npm create farm@latest
- 选择对应的项目模板:
可以看到目前官方已经支持的框架:Vanilla
、React
、Vue3
、Vue2
、Svelte
、Solid
、Lit
、Preact
、NestJS
、Tauri
、Electron
- 这里我们以
Vue3
项目为例,选择 Vue3 模板:
- 安装依赖并启动项目:
Farm 的 CLI
工具和 Dev Server
,为开发者提供了一个高效、稳定且易于使用的开发环境。
Vue3 + Vite 项目迁移
从 Vite 迁移非常简单,只需要将 vite.config.ts
转换为 farm.config.ts
因为 Farm 与 Vite 兼容。
更多迁移相关注意事项请查看:
https://www.farmfe.org/zh/docs/migration/from-vite
Farm 的开发团队正致力于将 Farm 打造成为一个全面、稳定、高效的前端构建工具,希望 Farm 越来与越强吧。
Farm 官方文档:
https://www.farmfe.org/zh/
最后
如果觉得本文对你有帮助,希望能够给我点赞支持一下哦 💪 也可以关注wx公众号:
前端开发爱好者
回复加群,一起学习前端技能 公众号内包含很多实战
精选资源教程,欢迎关注
转载自:https://juejin.cn/post/7384808872488157199