当前位置: 首页 > 知识库问答 >
问题:

在预置选项react本地导航中不允许Babel重写

西门飞星
2023-03-14

我试图将路由器react native navigation v2添加到react-native上的这个初学者项目中,但我有一个与babel包有关的问题(可能)。当我跑的时候

react-native run-android

我在Metro Bundler中有这样一个错误:

我的package.json

{
  "name": "project1",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest",
    "android": "cd ./android && ./gradlew app:assembleDebug && ./gradlew installDebug"
  },
  "dependencies": {
    "@babel/runtime": "^7.1.2",
    "react": "16.5.0",
    "react-native": "0.56",
    "react-native-navigation": "^2.0.2569"
  },
  "devDependencies": {
    "@babel/core": "^7.1.0",
    "@babel/preset-env": "^7.1.0",
    "babel-eslint": "^9.0.0",
    "babel-jest": "^23",
    "babel-preset-react-native": "^5",
    "jest": "23.6.0",
    "metro-react-native-babel-preset": "0.47.0",
    "react-test-renderer": "16.5.0"
  },
  "jest": {
    "preset": "react-native"
  }
}

.Babelrc

{
  "presets": [
    "@babel/preset-env",
    "module:metro-react-native-babel-preset"
  ]
}

共有1个答案

包翔
2023-03-14

似乎你有RN0.56,它使用了Babel的一些测试版。

我看你有两个解决方案:

1)保持RN 0.56并设置正确的巴别塔deps

This is what I have for a 0.57.1 project:

"dependencies": {
    "react": "16.5.0",
    "react-native": "0.57.1",
    .......
  }

  "devDependencies": {
    "@babel/core": "^7.0.0",
    "@babel/plugin-proposal-class-properties": "^7.0.0",
    "@babel/plugin-proposal-decorators": "^7.0.0",
    "@babel/plugin-proposal-do-expressions": "^7.0.0",
    "@babel/plugin-proposal-export-default-from": "^7.0.0",
    "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
    "@babel/plugin-proposal-function-bind": "^7.0.0",
    "@babel/plugin-proposal-function-sent": "^7.0.0",
    "@babel/plugin-proposal-json-strings": "^7.0.0",
    "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
    "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
    "@babel/plugin-proposal-numeric-separator": "^7.0.0",
    "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
    "@babel/plugin-proposal-optional-chaining": "^7.0.0",
    "@babel/plugin-proposal-pipeline-operator": "^7.0.0",
    "@babel/plugin-proposal-throw-expressions": "^7.0.0",
    "@babel/plugin-syntax-dynamic-import": "^7.0.0",
    "@babel/plugin-syntax-import-meta": "^7.0.0",
    "@babel/plugin-syntax-object-rest-spread": "^7.0.0",
    "@babel/plugin-transform-runtime": "^7.0.0",
    "@babel/preset-env": "^7.0.0",
    "@babel/preset-flow": "^7.0.0",
    "@babel/register": "^7.0.0",
    "babel-core": "^7.0.0-bridge.0",
    "babel-preset-react-native-stage-0": "^1.0.1",
    .....

}
{
    "presets": ["module:metro-react-native-babel-preset"]
}

有关RN 0.56,0.57更改日志的更多信息,请参见:

https://github.com/react-native-community/react-native-releases/blob/master/changelog.md

更多关于巴别塔7 deps的信息请点击此处:

rm-rf$tmpdir/react-*;RM-RF$TMPDIR/HASTE-*;RM-RF$TMPDIR/Metro-*;watchman Watch-del-All

 类似资料:
  • 问题内容: 我正在使用最新的 (2017年12月) 依赖项堆栈。当我尝试使用Jest进行同构反应测试时,测试服始终失败并显示以下错误: 这是我的依赖项: .babelrc: 关于Jest为什么不运行,是否有人有任何见解? 问题答案: 通天桥旨在涵盖6到7之间的所有问题 那不是桥包所做的100%。它所做的只是允许使用的工具传递给。整个程序包就是这一行代码。 如果您使用,则需要使用可在Babel 7上

  • 我遵循Android安装React导航的所有说明。 首先,“npm安装--Save React-Navigation”,“npm安装--Save React-Native-Gesture-Handler”。“react-native link react-native-gesture-handler”,最后,更新了我的 这是我得到的错误: 错误所在:在创建目录'd:\react Native pr

  • 问题内容: 我有一个要在其中构建的轮播文件,所以我是: 在我使用低于: …但是我收到此错误消息: 有谁知道如何解决这个问题? 问题答案: 您使用的是Babel 6和Babel 7的组合。不能保证各个版本之间的兼容性: 应该 和 将是 我也很困惑,因为您没有在中提及,但是假设它在其中也应该进行更新。

  • 相对来说,我对Ajax还比较陌生,只是负责这个跨域调用。我们的网页上有一个文本框,用户将使用它来执行公司名称的搜索。通过单击文本框旁边的按钮,将请求Ajax调用。不幸的是,web服务位于一个单独的域中,所以这自然会引起问题。 以下是我为完成这项工作所做的最大努力。我还应该注意,这个调用的目的是以XML格式返回结果,这些结果将在请求的< code>success部分进行解析。 这是再次出现错误消息:

  • 问题内容: 为了解决CORS问题,我在那儿写了 在我的服务器站点中 但是在我的开发过程中,我看到了这个错误 我以为allow-origin:*会解决一切吗?但是为什么说标头包含多个值? 问题答案: 意外两次启用CORS时,这是一个常见问题。检查以确保未在apache中启用它,或者未设置标头两次。作为健全性检查,您可以尝试删除标头并将其重新添加回去,然后再提供响应。 例如:

  • 问题内容: 我有一个问题 不允许导入周期 当我尝试测试控制器时,它会出现。作为输出,我有 有人可以告诉我如何阅读或理解此错误吗?依赖关系哪里出问题了? 问题答案: 这是第一个导入周期问题的说明。 你可以用我的坏ASCII图表看是要创建一个导入周期时进口。由于Go不支持循环依赖关系,因此您会在编译期间收到错误消息。