獨立平台
React Native 不僅適用於 Android 和 iOS 裝置 - 我們的合作夥伴和社群維護了將 React Native 帶到其他平台的專案,例如:
來自合作夥伴
- React Native macOS - 用於 macOS 和 Cocoa 的 React Native。
- React Native Windows - 用於 Microsoft 通用 Windows 平台 (UWP) 的 React Native。
- React Native visionOS - 用於 Apple visionOS 的 React Native。
來自社群
- React Native tvOS - 用於 Apple TV 和 Android TV 裝置的 React Native。
- React Native Web - 在網路上使用 React DOM 的 React Native。
- React Native Skia - 使用 Skia 作為渲染器的 React Native。目前支援 Linux 和 macOS。
建立您自己的 React Native 平台
目前從頭開始建立 React Native 平台的流程文件記錄不完善 - 即將到來的重新架構 (Fabric) 的目標之一是讓維護平台更容易。
打包
從 React Native 0.57 開始,您現在可以將您的 React Native 平台註冊到 React Native 的 JavaScript 打包器 Metro。這表示您可以將 --platform example
傳遞給 npx react-native bundle
,它將會尋找具有 .example.js
後綴的 JavaScript 檔案。
要向 RNPM 註冊您的平台,您的模組名稱必須符合以下模式之一
react-native-example
- 它將搜尋所有以react-native-
開頭的頂層模組@org/react-native-example
- 它將搜尋任何範圍下以react-native-
開頭的模組@react-native-example/module
- 它將搜尋所有名稱以@react-native-
開頭的範圍下的模組
您還必須在您的 package.json
中加入如下條目
json
{
"rnpm": {
"haste": {
"providesModuleNodeModules": ["react-native-example"],
"platforms": ["example"]
}
}
}
"providesModuleNodeModules"
是一個將被添加到 Haste 模組搜尋路徑的模組陣列,而 "platforms"
是一個將被添加為有效平台的平台後綴陣列。