Facebook 实验性工具链 Rome,为 JavaScript 提供多合一解决方案


Facebook 实验性工具链 Rome,为 JavaScript 提供多合一解决方案


SegmentFault 思否报道


近期,Facebook 推出了一个 JavaScript 的实验性工具链,用于 JavaScript 和 TypeScript 开发的「多合一」解决方案。

据悉,该项目以「条条大路通罗马」和「罗马不是一天建成的」俗语来命名,徽标选择的是古希腊的斯巴达头盔。

该项目由塞巴斯蒂安·麦肯齐(Sebastian McKenzie)发起,塞巴斯蒂安·麦肯齐是 Babas 和 Yarn 的创建者。现在该项目已交由 Facebook 的 React Native 团队进行开发。

Facebook 实验性工具链 Rome,为 JavaScript 提供多合一解决方案


Rome 是一个 JavaScript 的实验性工具链。该工具链由编译器,linter,格式化程序,打包器,测试框架等组成。旨在成为与 JavaScript 源代码处理相关的所有功能的综合工具。

据 FaceBook 工程师介绍,Rome 使用 JavaScript 工具的方法与现有的开放源代码堆栈不同,并且可能与大型公司中基于内部基于单仓库的工具相似。Rome 负责所有构建和编译步骤,因此开发人员避免了在不同阶段必须通过多个工具传递源代码的情况。

罗马的所有编译都是按模块进行的,从而允许在工作线程池中处理每个模块。为了避免这种情况导致需要重新解析每个模块,需要对它们进行预先命名,以便它们都可以共享一个作用域。

当对每个文件进行编译时,Rome 可以通过在所有模块作用域变量之前加上基于模块文件名生成的标识符,来捆绑各个元素。这也适用于每个模块的导入和导出标识符,这意味着任何模块导出都可以仅使用模块的文件名和导出名称来解决:

该工具链用 TypeScript 编写的,并且完全是自托管的,没有第三方依赖性,可用于处理 JSX,Flow 和 TypeScript 代码。

但 Rome 尚未在生产中使用,仍处于试验阶段,但可以尝试从源码进行构建。目前,该项目在 GitHub 上已获得近 5K Star。

Facebook 实验性工具链 Rome,为 JavaScript 提供多合一解决方案


Rome 官网:

https://romejs.dev/

GitHub 地址:

https://github.com/facebookexperimental/rome


分享到:


相關文章: