JavaScript 工具链又添新成员:React Native 团队出品的 Rome
Rome
Sebastian McKenzie,就是 Yarn 和 Babel 的作者,也是 Facebook RN 团队的成员,最近在做一个雄心勃勃的实验项目:开发一个包罗万象的 JavaScript 和 TypeScript 工具链,叫 Rome。
从 Github 上的提交记录可以看到,Rome 就在前几天公布。为啥叫 Rome?名字就来源于我们比较熟悉的几句谚语:
"All Roads Lead to Rome"
"Rome wasn't built in a day"
"When in Rome, do as the Romans do".
Rome 是什么
Rome 是一个从零开始实现的 JavaScript 完整工具链,它能够编译和打包 JavaScript 项目,执行 lint 和类型检查,运行测试,还能格式化代码。
设计理念
Rome 采用了一种不同于现有开源技术栈的 JavaScript 工具,更接近于大厂内部使用的基于 monorepo 的工具集。传统的工具,比如 Gulp 和 Webpack,采用的是管道思维,也就是不同的步骤采用不同的工具,源码在这些工具管道上传递。而 Rome 选择的是自己执行所有构建和编译步骤。
这有助于解决 Webpack 和 Rollup 等流行的打包程序所面临的一个问题,即整个程序的分析和优化最终会变得非常困难或代价高昂,因为每个工具都必须解析和构建自己的 AST。
目标
取代许多现有的 JavaScript 工具。看起来野心不小啊!不过,它也可以跟其他工具集成,比如把 Rome 编译器作为其他打包工具的一个插件。
Rome 还处于起步阶段,是 Facebook 的一个实验项目,在写这篇文章的时候 Github 上已经有 5.7k star 了,看来关注度还是很高的。至于后面发展如何,让我们拭目以待。
更多前端技术干货尽在微信公众号:1024译站
微信公众号:1024译站
发表评论 (审核通过后显示评论):