Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 仅对一个项目(Android或iOS)响应本机链接_React Native_React Native Android_React Native Ios_React Native Linking - Fatal编程技术网

React native 仅对一个项目(Android或iOS)响应本机链接

React native 仅对一个项目(Android或iOS)响应本机链接,react-native,react-native-android,react-native-ios,react-native-linking,React Native,React Native Android,React Native Ios,React Native Linking,我只想将我的一个项目(Android或iOS)链接到npm包。有什么办法吗?当您运行react native link时,它会自动链接到所需的平台 如果仅iOS/Android需要模块/依赖项,则将仅链接到iOS/Android 如果两者都适用,则链接将同时适用于两者 如果react native=60 由于新的react本机版本具有一些自动链接功能,因此您应该告诉react本机CLI不要链接库: 在项目的根目录中创建一个react native.config.js文件 添加一些类似这样的配置

我只想将我的一个项目(Android或iOS)链接到npm包。有什么办法吗?

当您运行react native link时,它会自动链接到所需的平台

如果仅iOS/Android需要模块/依赖项,则将仅链接到iOS/Android

如果两者都适用,则链接将同时适用于两者


如果react native<60

  • 重命名您不想链接的平台(iOS或Android)
  • 运行
    react native link您的库js包名
  • 将平台重命名为原始名称
  • 反应本机>=60

    由于新的react本机版本具有一些自动链接功能,因此您应该告诉react本机CLI不要链接库:

  • 在项目的根目录中创建一个
    react native.config.js
    文件
  • 添加一些类似这样的配置

    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
            },
        },
    
      },
    };
    

  • 检查此项以了解更多信息

    您可以通过以下操作选择仅链接特定平台的库:

    对于Android:
    react原生链接(此处为您的库名)——平台Android


    对于iOS:
    react native link(这里是您的库名)——“平台iOS”

    是的,但是如果我不想在iOS上安装该模块怎么办。我可以在Android上手动链接它,对吗?这就是我想从react-native-link中得到的,如果它有任何方法的话。到目前为止,react-native-link没有任何方法对上面的链接有用吗?如果你使用的是
    git
    ,有一个简单的解决方法。只需链接它,然后签出所有已更改的ios文件
    git checkout ios/*
    这并不总是有效的,我将我的文件夹重命名为
    rename\u ios
    ,并且仍然使linking@JuanP.奥尔蒂斯,react native 60及更高版本具有自动链接功能,因此如果使用自动链接,此解决方案将不适用于您。显然,这应该是公认的答案。谢谢