如何知道我们是否处于反应本土环境中?

时间:2016-12-11 10:29:46

标签: react-native

我有一个npm库,可以在浏览器和Node环境中工作。

在节点环境中使用时,它会检查(i <= j)函数是否存在,并且需要i -> <- j <------------------N-------------------> 等模块。

require

这些模块在本机反应中不存在,因此当我在本机中使用此库时,我收到错误。

了解我们是否处于反应本机环境与节点之间的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

AFAIK,没有你明确地在某处设置它就没有办法做到这一点。 React native确实有require但不是fs。这可能是你得到错误的原因。 global也可用于isReact,因此可以选择在global对象中存储global.isReact = true变量。

isReactglobal将在整个应用中提供。许多人说使用env.js变量是不明智的,但在这种情况下,它可能是一个例外。

您还可以在根目录中创建isReact文件,只要您需要确定是否在React Native中运行,就可以设置require变量和update该文件或节点。

答案 1 :(得分:0)

不幸的是,@ borislemke的回答没有用,看来你不能条件化require。我认为babel构造了依赖树,而没有考虑条件。

我最终将require移动到了一个添加了grunt

的文件中