react-native link 仅适用于一个项目(Android 或 iOS)

react-native link only for one project (Android or iOS)

我只想 link 我的项目之一(Android 或 iOS)使用 npm 包。有什么办法吗?

当你 运行 react-native link 时,它会自动 link 到所需的平台。

如果 Module/dependency 是 iOS/Android 所必需的,那么 link 只需要 iOS/Android。

如果两者都适用,那么 linking 将适用于两者。

您也可以 link 手动连接到平台。

if react-native < 60

  1. 重命名您不想 link.
  2. 的平台(iOS 或 Android)
  3. 运行 react-native link your-library-js-package-name.
  4. 将平台重命名为原来的名称。

.

react-native >= 60

因为新的 react-native 版本有一些自动 linking 功能,你应该告诉 react-native CLI 不要 link 你的库:

  1. 在项目的根目录中创建一个 react-native.config.js 文件。
  2. 像这样添加一些配置

    module.exports = {
      dependencies: {
        'your-library-js-package-name': {
             platforms: {
               android: null, // assign null to disable autolinking
               ios: // assign null to disable autolinking or remove the 
                    ios key to let do the default linking
            },
        },
    
      },
    };
    

检查此以获取更多信息docs

您可以通过以下操作选择 link 仅适用于特定平台的库:

对于Android:react-native link (your_library_name_here) --platforms android

iOS:react-native link (your_library_name_here) --platforms ios