技術編輯:徐九丨發自 北京
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...