技术编辑:徐九丨发自 北京
SegmentFault 思否报道丨公众号:SegmentFaultgit
近期,Facebook 推出了一个 JavaScript 的实验性工具链,用于 JavaScript 和 TypeScript 开发的「多合一」解决方案。github
据悉,该项目以「条条大路通罗马」和「罗马不是一天建成的」俗语来命名,徽标选择的是古希腊的斯巴达头盔。框架
该项目由塞巴斯蒂安·麦肯齐(Sebastian McKenzie)发起,塞巴斯蒂安·麦肯齐是 Babas 和 Yarn 的建立者。如今该项目已交由 Facebook 的 React Native 团队进行开发。工具
Rome 是一个 JavaScript 的实验性工具链。该工具链由编译器,linter,格式化程序,打包器,测试框架等组成。旨在成为与 JavaScript 源代码处理相关的全部功能的综合工具。测试
据 FaceBook 工程师介绍,Rome 使用 JavaScript 工具的方法与现有的开放源代码堆栈不一样,而且可能与大型公司中基于内部基于单仓库的工具类似。Rome 负责全部构建和编译步骤,所以开发人员避免了在不一样阶段必须经过多个工具传递源代码的状况。spa
罗马的全部编译都是按模块进行的,从而容许在工做线程池中处理每一个模块。为了不这种状况致使须要从新解析每一个模块,须要对它们进行预先命名,以便它们均可以共享一个做用域。开放源代码
当对每一个文件进行编译时,Rome 能够经过在全部模块做用域变量以前加上基于模块文件名生成的标识符,来捆绑各个元素。这也适用于每一个模块的导入和导出标识符,这意味着任何模块导出均可以仅使用模块的文件名和导出名称来解决:线程
该工具链用 TypeScript 编写的,而且彻底是自托管的,没有第三方依赖性,可用于处理 JSX,Flow 和 TypeScript 代码。3d
但 Rome 还没有在生产中使用,仍处于试验阶段,但能够尝试从源码进行构建。目前,该项目在 GitHub 上已得到近 5K Star。blog
参考资料:Rome 官网:https://romejs.dev/ GitHub
地址:https://github.com/facebookex...