跳到主要内容
Version: Next

多平台支持

React Native 不仅适用于 Android 和 iOS 设备——我们的合作伙伴和社区还维护着一些将 React Native 带到其他平台的项目,例如:

合作伙伴项目

社区项目

创建你自己的 React Native 平台

目前,从零开始创建一个 React Native 平台的过程还没有非常完善的文档——新的架构(Fabric)旨在让平台维护更容易。

打包

自 React Native 0.57 起已支持通过 Metro 注册自定义平台。这意味着你可以向 npx react-native bundle 传递 --platform example,它就会查找带有 .example.js 后缀的 JavaScript 文件。

要将你的平台注册到 RNPM,模块名称必须匹配以下模式之一:

  • react-native-example - 它会搜索所有以 react-native- 开头的顶级模块
  • @org/react-native-example - 它会搜索任意 scope 下以 react-native- 开头的模块
  • @react-native-example/module - 它会搜索所有位于名称以 @react-native- 开头的 scope 下的模块

你还需要在 package.json 中添加如下配置:

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

"providesModuleNodeModules" 是一个数组,其中的模块会被加入 Haste 模块搜索路径;"platforms" 也是一个数组,其中的平台后缀会被添加为有效平台。