The Remix logo
2023 年 9 月 15 日

Remix v2

Michael Jackson
共同創辦人

我們很高興地宣布,在自 Remix 第 1 版發布以來,經過將近 2 年的持續努力(19 個小版本發布、超過 100 個修補程式發布,以及數千個已關閉的議題和提取請求)之後,我們今天正式向世界發布 Remix v2。

早在 三月份,我們就詳細討論了 我們對於語義版本控制和構建穩定軟體的看法,並描述了我們在發布新的主要版本時,如何讓 Remix 持續前進而不會導致您必須重寫應用程式的方法。今天,我們正在兌現這個承諾。如果您有一個啟用所有未來標誌的 Remix v1 應用程式,您可以透過簡單地從 Remix 設定中移除這些標誌,來幾乎無縫地升級到 v2。當然,這是一個主要版本,因此我們也藉此機會升級了一些主要相依性(特別是 React 18 和 Node 18)。

如需升級所需的全面逐步說明,請參閱我們的升級到 v2 指南

我們希望您確信您用來建構業務的軟體,不會在明年讓您措手不及。換個角度思考:如果您一直在 Remix v1 中使用未來標誌,您早在幾個月前就已經可以使用 Remix v2 中的許多功能了。這是我們多年來從許多智者那裡學到的迭代軟體開發生命週期,我們對此深表感謝。Remix v3 也將以相同的方式開發。現在 v2 已發布,您可以預期 v3 功能將在未來幾個月內,在穩定/最終 v3 發布之前,出現在未來標誌的背後。

重點

如果您尚未關注,以下是我們在 v1 中發布的一些重點

  • v1.8v1.10 中,我們將 Remix 與 React Router v6 對齊。當我們開始開發 Remix 時,我們承諾它會讓 React Router 變得更好。此版本確實實現了該承諾,並使兩個函式庫都使用相同的基礎相依性。
  • v1.11 中,我們發布了 defer,我們親切地稱之為「通過網路的 promise」。現在,如果您真的想念它們,您可以將微調器放回您的 Remix 應用程式中了!😜
  • 同樣在 v1.11 中,我們新增了「扁平」路由,簡化了在不需巢狀目錄的情況下進行巢狀版面配置。這是 v2 中的預設值
  • v1.13v1.16 中,我們發布了對 Remix 中各種 CSS 策略的改進支援,包括 PostCSS、CSS 模組、Vanilla Extract 和 CSS 副作用(全域)匯入。
  • v1.14v1.18 中,我們發布了一個新的開發伺服器,可同時進行熱模組重載 (HMR) 和熱資料重載 (HDR)。新的開發伺服器是 v2 中的預設值。

此外,我們在 v2 中發布的主要重點之一是 全新的 create-remix CLI 體驗

如需 v2 中所有變更的完整列表,請參閱發行說明

RSC 呢?

這真的值得單獨發一篇博文,但我知道你們有些人可能想知道 Remix 在 React Server Components (RSC) 方面的計畫是什麼。這是一個很好的問題,如果您讀到這裡,您可能也有這個疑問,所以我會盡我所能告訴您我們目前的狀況。

簡而言之,我們對於在 Remix v3 中新增對 RSC 的支援持樂觀態度,並且我們渴望盡一份力量來證明該技術在多個框架中的應用。RSC 的功能很有趣,但 Remix v2 依賴於目前穩定的 React 功能,在撰寫本文時,這不包括 RSC。當 RSC 穩定時,您可以預期 Remix 將支援它。

然而,「支援 RSC」與支援我們之前看過的其他 React 功能截然不同。例如,當 Hook 在 2018 年出現時,它們為我們提供了一種不同的建構元件的方式,但它們對捆綁和應用程式部署的影響相對較小。然而,RSC 需要更深入的整合。

自我們最初評估 RSC 以來,我們對 RSC 中的一些變更感到非常鼓舞。特別是,RSC async 元件看起來很像 Remix loader 與元件結合,並決定拋棄了討厭的第三者 useLoaderData。因此,您可以打賭資料載入在 Remix v3 中看起來會有所不同。我們希望您只需將一堆 loader 程式碼移到新的 async 元件中(但請注意資料相依性瀑布!我是否已經提過這應該是單獨發一篇博文?它真的應該...)。

在今年稍早的 Remix Conf 上,我們與一些核心 React 團隊成員舉辦了小組討論,我們在其中討論了 RSC 以及我們如何共同合作。我們渴望盡我們所能幫助這項技術為穩定發布做好準備。

這就是這篇文章的全部內容!說真的,我不知道你為什麼還在這裡😅

快去閱讀升級指南


取得有關 Remix 最新消息的更新

搶先了解 Remix 的新功能、社群活動和教學課程。