跳至主要内容

树外平台

React Native 不仅适用于 Android 和 iOS 设备 - 我们的合作伙伴和社区维护着将 React Native 移植到其他平台的项目,例如

来自合作伙伴

来自社区

创建你自己的 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 中添加如下条目

{
"rnpm": {
"haste": {
"providesModuleNodeModules": ["react-native-example"],
"platforms": ["example"]
}
}
}

"providesModuleNodeModules" 是一个模块数组,这些模块将被添加到 Haste 模块搜索路径中,而 "platforms" 是一个平台后缀数组,这些后缀将被添加为有效的平台。