跳到主要内容

树外平台

React Native 不仅仅适用于 Android 和 iOS 设备 —— 我们的合作伙伴和社区维护着让 React Native 支持其它平台的项目,例如:

来自合作伙伴

来自社区

创建你自己的 React Native 平台

目前从零开始创建一个 React Native 平台的过程文档还不完善 —— 即将到来的重新架构 (Fabric) 的目标之一就是让维护一个平台变得更容易。

打包

从 React Native 0.57 版本开始,你可以使用 React Native 的 JavaScript 打包器 Metro 来注册你的 React Native 平台。这意味着你可以传递 --platform examplenpx 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" 是一个平台后缀数组,这些后缀将被添加为有效的平台。