首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >响应本机构建错误:意外>令牌注释::,文件中的预期

问响应本机构建错误:意外>令牌注释::,文件中的预期
EN

Stack Overflow用户
提问于 2022-01-11 06:43:04
回答 3查看 5.5K关注 0票数 9

在生成for响应本机0.62.2时遇到此错误。

在104:30的文件node_modules/react-native/Libraries/Blob/URL.js:中,出现了错误的node_modules/react-native/Libraries/Blob/URL.js意料之外的令牌提示:使用--详细标志运行CLI以获取更多详细信息。错误:在104:30时文件node_modules/react-native/Libraries/Blob/URL.js中的意外令牌朋c::

尝试删除node_modules和yarn.lock,但没有结果。:(

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-01-11 21:57:05

问题是由于地铁反应-反应-土生土长-巴贝尔预设。将其更新为“地铁-反应-本机-babel-预设”:"^0.66.2“

票数 20
EN

Stack Overflow用户

发布于 2022-02-17 07:59:14

Ashok所接受的答案提供了一个可行的解决方案。

如果你对更多的细节感兴趣,以及解决问题的其他方法,请继续阅读。

升级到最新版本的metro-react-native-babel-preset是不需要的。它可能会导致其他兼容性问题。修正了0.59中的错误,该错误最初随ReactiNative0.63一起交付。如果您使用的是Reacti原住民的旧版本,则可能仍然锁定在<0.59版本。

选项1至少将metro-react-native-babel-preset升级到0.59

代码语言:javascript
复制
yarn add -D metro-react-native-babel-preset@^0.59

现在来看一下这个构建错误的附加细节和根本原因。这一起源可追溯到2022年1月10日巴别尔7.16.8的发行。这个StackOverflow问题是在第二天1月11日创建的。@babel/traverse@7.16.8包含以下PR:

https://github.com/babel/babel/pull/14105

这个PR修复了Babel穿越AST的错误。修复预计不会产生任何不利影响(可以从只增加修补程序版本这一事实可以看出)。但是,0.59之前的metro-react-native-babel-preset版本内部依赖于这个bug的存在。

为什么这个突然破了?因为metro-react-native-babel-preset将所有babel依赖项声明为^7.0.0 (意思是:使用7.x主要版本系列中的任何次要版本和补丁版本)。通常,应用程序项目中的依赖锁文件应该避免任何意外的依赖项更改,但在某些情况下,依赖锁是不可用的(或使用的)。

问题的两种替代修复方法,不需要更新metro-react-native-babel-preset

选项2 (当使用metro-react-native-babel-preset版本0.58.0时)

将babel.config.js中的以下行更改为

代码语言:javascript
复制
presets: ['module:metro-react-native-babel-preset']

至

代码语言:javascript
复制
presets: [['module:metro-react-native-babel-preset', {
  unstable_disableES6Transforms: true
}]],

选项3 (用于metro-react-native-babel-preset的早期版本)

将以下内容添加到package.json

代码语言:javascript
复制
  "resolutions": {
    "@babel/traverse": "7.16.7"
  }

kerm1it和其他人在GitHub上的以下问题中详细介绍了这些选项:

https://github.com/babel/babel/issues/14139

尼科尔·里博多关于docz中一个相关漏洞的另一个令人惊讶的详细答复可以在这里找到:

https://github.com/doczjs/docz/issues/1691#issuecomment-1025928444

票数 5
EN

Stack Overflow用户

发布于 2022-07-28 18:40:29

列出的任何解决方案都应该工作,但值得注意的是,您可能应该运行npx react-native start --reset-cache来清除转换缓存。

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70662596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档