react-native转换 - 错误找不到预设“babel-preset-react-native-stage-0

IT技术 reactjs react-native react-native-android babeljs
2021-05-24 14:17:39

我开始弹出 expo,经过如此多的挣扎,我能够解决所有构建问题。当我使用“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 缓存
  3. 删除构建文件夹,删除 npm module并重新安装所有module
  4. 很少有人通过删除守望者来解决这个问题,但我根本没有使用守望者。
  5. 添加 .babelrc 提及装饰器支持预设如下,此修复也不起作用。

.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个回答

尝试使用普通的 babel 预设 0:https : //babeljs.io/docs/plugins/preset-stage-0

所以

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

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

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

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

尝试:

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

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

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

#一个

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