反应原生变换 - 错误找不到预设“babel-preset-react-native-stage-0

时间:2018-05-01 23:44:21

标签: reactjs react-native babeljs react-native-android babel

我开始推出世博会,经过这么多的努力,我能够解决所有构建问题。 当我使用'sudo react-native run-android'运行应用程序时,我开始收到以下错误

错误:

The development server returned response code 500
Bundling `index.android.js`  [development, non-minified, hmr disabled]  
0.0% (0/1), failed.
error: bundling failed: "TransformError: 

/Development/SourceCode/MobileApp/index.android.js: 
Couldn't find preset \"babel-preset-react-native-stage-0/decorator-support\" relative to directory \"/Development/SourceCode/MobileApp\""

我尝试了github和SO中提供的几乎所有可能的修复

  1. 卸载最新版本的babel-preset-react-native并重新安装sudo yarn add babel-preset-react-native@2.1.0
  2. 清除缓存Yarn Cache,npm cache
  3. 删除构建文件夹,删除npm模块并重新安装所有模块
  4. 很少有人通过移除守望者来解决问题,但我根本不使用守望者。
  5. 添加.babelrc提到预设的装饰器支持如下,此修复也无效。
  6. .babelrc 文件看起来像这样

        {
          "presets": [
            "react-native",
            "babel-preset-react-native-stage-0/decorator-support"
          ],
          "env": {
            "development": {
              "plugins": [
                "transform-react-jsx-source"
              ]
            }
          }
        }
    

    这些修复都不适合我。使用babel-preset-react-native@2.1.0也无法解决问题,因为这是主要修复方法。

3 个答案:

答案 0 :(得分:7)

尝试按照https://babeljs.io/docs/plugins/preset-stage-0

使用正常的babel预设0

所以

"presets": ["react-native", "stage-0"]

答案 1 :(得分:4)

如果可以使用旧版本的React Native,则可以在项目根目录中创建.babelrc文件,其内容如下:

{
  "presets": ["react-native"]
}

答案 2 :(得分:0)

如果您确实在项目中使用了Expo,

尝试:

  1. $ cd your_project
  2. $ nano .babelrc(或您想要的任何编辑器)
  3. 复制并粘贴#A

如果您的项目中没有.babelrc,则:

  1. $ cd your_project
  2. touch .babelrc
  3. 复制并粘贴#A

#A

{
  "presets": ["babel-preset-expo"],
  "env": {
    "development": {
      "plugins": ["transform-react-jsx-source"]
    }
  }
}