React Native - __DEV__ 未定义
Posted
技术标签:
【中文标题】React Native - __DEV__ 未定义【英文标题】:React Native - __DEV__ is not defined 【发布时间】:2016-09-26 00:43:37 【问题描述】:我有一个 react-native@0.26.2 项目。 我已经删除了 node_modules 文件夹,并且在我给出了以下命令之后:
npm i
react-native upgrade
但我收到此错误:
react-native.js:15
ReferenceError: __DEV__ is not defined
我该如何解决?
【问题讨论】:
我在运行 Jest 时遇到同样的错误。试图让 Jest 工作,请参阅此处:***.com/questions/37474160/…ReferenceError: __DEV__ is not defined
ReferenceError: Can't find variable: __DEV__的可能重复
【参考方案1】:
添加
/* global __DEV__ */
到文件顶部为我工作。
【讨论】:
这是什么,你能解释一下吗? 这不是 eslint 语法吗?我认为这对编译问题没有任何作用。【参考方案2】:也许是这个? https://github.com/facebook/react-native/issues/7814
删除 .babelrc 似乎可以解决问题。
我的.babelrc:
"预设": ["react-native"]
【讨论】:
然后我就遇到了这个问题:***.com/questions/53326986/…【参考方案3】:由于这是第一个搜索结果,我想为那些在 react-native-web 和 Jest 中遇到此问题的人提供另一个提示。
如 https://github.com/facebookincubator/create-react-app/issues/1085 中所述,如果您在构建系统(对我来说是 webpack)中将 'react-native'
映射到 'react-native-web'
,那么您还需要在 Jest 配置中进行该映射。
我看到了
ReferenceError: __DEV__ is not defined
当我通过 Jest 运行测试时。添加
moduleNameMapper:
'^react-native$': 'react-native-web',
jest.config.js
为我解决了这个问题。
【讨论】:
【参考方案4】:向 devDependencies 添加 'babel-preset-react-native' 解决了这个问题
【讨论】:
【参考方案5】:已经确定解决方案适用于整个项目,只需在 .eslintrc.json 文件中添加 globals
属性即可:
"rules":
//your rules
,
"globals":
"__DEV__": true
注意globals
和rules
应该在同一个json对象中。
【讨论】:
【参考方案6】:.babelrc 文件隐藏在文件夹中。 我只是删除它,然后我的反应原生项目工作。
【讨论】:
以上是关于React Native - __DEV__ 未定义的主要内容,如果未能解决你的问题,请参考以下文章
在 react-native.config.js 中检测开发环境
react-native ios“无法连接到开发服务器”和“__fbBatchedBridge 未定义”错误
React native Undefined 不是对象(评估'_react3.default.PropType.shape')?
react-native start error Invalid regular expression:
React native - 对象作为 React 子对象无效(发现:带有键的对象 $$typeof, type, key, ref, props, _owner, _store)
@react-native-firebase/messaging : TypeError: (0 , _messaging.default)(...).registerForRemoteNotific