我怎么知道我的代码是否作为React Native运行

时间:2016-09-13 10:40:03

标签: javascript react-native

我希望能够为所有平台导出一个包,但是我使用一些带有简单JS回退的本机绑定。通常我会注意到差异 检查对象windowexports是否存在。

如何在React Native上实现这一目标?

3 个答案:

答案 0 :(得分:10)

以下是检查代码是否在web,nodejs或react-native上的方法:

if (typeof document != 'undefined') {
  // I'm on the web!
}
else if (typeof navigator != 'undefined' && navigator.product == 'ReactNative') {
  // I'm in react-native
}
else {
  // I'm in node js
}

来源:

答案 1 :(得分:0)

  

创建两个文件:一个名为file.web.js,另一个称为file.native.js,   并仅导入名字段'./yourdirectories/file'

答案 2 :(得分:-1)

不确定我是否正确理解了您的问题,但到目前为止,我们为解决所有平台并使React Native重写而采取的措施是:

-- file.js
-- file.android.js
-- file.ios.js

只有一个简单的

require('./file');

因此基于env(Node / React Native),可以透明地加载正确的文件。