我正在使用React Native为Android和iOS开发应用程序。
我使用的其中一个库有点问题,因为应用只能正确编译:
"react-native": "0.42.0"
时"react-native": "0.37.0"
时 iOS 。 (图书馆本身,以及react-native
的特定版本都不适用于此讨论。重要的是,我似乎需要两个单独的版本" at同一时间" - 每个平台不同的一个。)
我正在寻找一种方法,可以使用任何平台的相关工具编译单个代码库,无需任何修改 1 。我想到的解决方案是(以某种方式):
package.json
个文件。但是,我不知道如何实现上述任何一项,或者他们是否可能。我尝试按React-Native docs on platform-specific code中的说明添加.ios
和.android
,但是npm并不识别这些文件。
所以我的问题是:
1 在类似C的代码中,使用预处理器标志会很容易。
答案 0 :(得分:0)
还没有尝试过,但是我要去尝试。有人建议我尝试一下:“将package.json
中的npm别名与Metro支持的特定于平台的文件(例如Component.ios.js
)结合起来
可能类似于...
{
"package-v1": "http://example.com/package-v1",
"package-v2": "http://example.com/package-v2",
// or GitHub based
"package-v1": "orgname/package#v1",
"package-v2": "orgname/package#v2",
}
// Component.ios.js
import "package-v1"
// Component.android.js
import "package-v2"