如何解决语法错误、意外令牌、导出类型?

Posted

技术标签:

【中文标题】如何解决语法错误、意外令牌、导出类型?【英文标题】:How to solve syntax error, unexpected token, export type? 【发布时间】:2020-07-24 17:32:11 【问题描述】:

我使用的是react-navigation 的版本2.x,现在我正在迁移到版本5.x。我已经根据文档安装了所有模块,但是在运行应用程序时,我收到了这个错误。

这看起来更像是一个打字稿编译错误,但我不确定它为什么会出现,因为我只是运行了npm install 命令并且没有触及任何node_module 文件。

error: SyntaxError: E:\PROJECTS\rnzone\BoxApp\node_modules\@react-navigation\stack\src\index.tsx: Unexpected token (51:12)

  49 |  * Types
  50 |  */
> 51 | export type 
     |             ^
  52 |   StackNavigationOptions,
  53 |   StackNavigationProp,
  54 |   StackHeaderProps,

你有什么建议?

【问题讨论】:

可能有用的链接 (github.com/react-navigation/react-navigation/issues/…) 【参考方案1】:

所以我能够通过升级开发依赖项中的@babel/core@babel/runtime 来解决这个问题。

7.9.0 中添加了对仅类型导入 + 导出的支持

感谢 nickyleach 指出this。

【讨论】:

它不适用于最新的@babel/core@babel/preset-typescript【参考方案2】:

如果上述方法不起作用,请将 @babel/core 添加为 global 依赖项 (yarn global add @babel/core / npm install -g @babel/core),因为全局安装的 expo-cli 无法识别基于项目的出于某种原因安装 babel。

【讨论】:

全局安装@babel/core没有效果。 @Distortum 是这样的。如果您想更加确定,请从全局中删除 expo-cli 和所有 babel 包,并在每个项目的基础上安装它们。无论如何,这是一种更好的做法(也是我最终所做的)。

以上是关于如何解决语法错误、意外令牌、导出类型?的主要内容,如果未能解决你的问题,请参考以下文章

解析错误:意外的令牌,预期的“,”和语法错误:意外的令牌'['[重复]

意外的令牌 语法错误

如何使用 angularjs $http 修复我的 jsonp 回调以解决“意外令牌”错误?

未捕获的语法错误意外令牌 U JSON

错误:未捕获的语法错误:意外的令牌 <

WCF 跨域使用 Jsonp 错误未捕获语法错误:意外令牌: