老版本 CRA 中使用 TS 出现的报错问题

Posted GoldenaArcher

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了老版本 CRA 中使用 TS 出现的报错问题相关的知识,希望对你有一定的参考价值。

老版本 CRA 中使用 TS 出现的报错问题

项目是三四年前用 CRA 创建的,项目之前主要都是用 JS 写的,不过正好处在一个升级换代的过程中,所以打新实现的功能都打算用 TS 写,并且慢慢取代旧有点 JS 代码,过程中遇到了两个奇怪的报错:

  1. “Parsing error: Enum member names cannot start with lowercase ‘a’ through ‘z’”

    在 TS Playground 上试了一下,enum 中使用小写字母没有问题,所以不是 TS 禁止在 enum 中使用小写字母作为 key

  2. 在使用 as any 前会出现需要 , 的语法错

    是在箭头函数中使用的,大致语法如下: (variable as any) => ,因为还在重构的过程中,所以尚且还没有确定变量的类型。不使用 as any 的话就会报错,显示值不存在于对象中。

语法都是没有问题的,后来查了一下,是 eslint 的问题,大概是 CRA 中直接使用了 babel-eslint 导致 TS 的语法没有正确的被编译,将 parser 更换为 "@typescript-eslint/parser" 报错就消失了。

reference

以上是关于老版本 CRA 中使用 TS 出现的报错问题的主要内容,如果未能解决你的问题,请参考以下文章

关于Android老项目在Android Studio 4.0运行的报错

关于Android老项目在Android Studio 4.0运行的报错

Burpsuit使用java17的报错

在 CRA 2.1 Typescript 中导入时 ESLint 需要“.ts”

vue3+vite+ts 配置别名@报错

VS2013如何转成VS2010且不会出现此项目与Visual Studio的当前版本不兼容的报错