【问题标题】:React Native - __DEV__ is not definedReact Native - __DEV__ 未定义
【发布时间】: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

我该如何解决?

【问题讨论】:

标签: reactjs npm react-native


【解决方案1】:

添加

/* global __DEV__ */

到文件顶部为我工作。

【讨论】:

  • 这是什么,你能解释一下吗?
  • 这不是 eslint 语法吗?我认为这对编译问题没有任何作用。
【解决方案2】:

也许是这个? https://github.com/facebook/react-native/issues/7814

删除 .babelrc 似乎可以解决问题。

我的.babelrc:

{ "预设": ["react-native"] }

【讨论】:

【解决方案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
          }
      }
      

      注意globalsrules应该在同一个json对象中。

      【讨论】:

        【解决方案6】:

        .babelrc 文件隐藏在文件夹中。
        我只是删除它,然后我的反应原生项目工作。

        【讨论】:

          猜你喜欢
          • 2021-09-06
          • 2017-11-01
          • 2021-09-15
          • 2022-01-21
          • 2021-11-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多