create-react-app 无法使用抽象构造签名编译代码(TypeScript 4.2)

tyg4sfes  于 2个月前  发布在  React
关注(0)|答案(3)|浏览(34)

react-scriptscra-template-typescript 似乎不支持 TypeScript 4.2 的一些功能。具体来说,当我使用抽象构造签名时,会出现错误。
react-scripts 是不是还不支持 TypeScript 4.2?

复现

  1. yarn create react-app ts42test --template typescript
  2. package.json 中的 TypeScript 版本更改为 ^4.2.4
  3. type Constructor<T = {}> = abstract new (...args: any[]) => T; 处添加一些内容
  4. yarn start
./src/App.tsx
SyntaxError: /ts42test/src/App.tsx: Missing semicolon (5:35)

  3 | import './App.css';
  4 |
> 5 | type Constructor<T = {}> = abstract new (...args: any[]) => T;
    |                                    ^
  6 |
  7 | function App() {
  8 |   return (
zfycwa2u

zfycwa2u1#

为了记录,其他一些TS 4.2功能似乎可以工作,例如以下

$x_{1}a_{0}b_{1}x$

iqih9akk

iqih9akk2#

似乎我可以通过在我的package.json中添加以下内容来使其正常工作。

"resolutions": {
    "@typescript-eslint/typescript-estree": "4.24.0",
    "typescript": "^4.2",
    "@typescript-eslint/eslint-plugin": "^4.24.0",
    "@typescript-eslint/parser": "^4.24.0",
    "@babel/core": "7.13.0"
  }

我可能还没有充分了解这个生态系统,但这似乎不应该是我必须做的事情。

j7dteeu8

j7dteeu83#

这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有发生任何进一步的活动,它将在5天后被关闭。

相关问题