create-react-app 如果项目中的任何 .js 文件包含独特的 TypeScript 语法,则在整个项目中忽略所有 TypeScript 错误,

lskq00tm  于 22天前  发布在  React
关注(0)|答案(1)|浏览(18)

描述bug

如果一个使用独特TypeScript语法(例如:type bar = null;)的文件,其扩展名为.js,然后导入到你的项目中,你将不再收到任何TypeScript编译器错误。以下是重现步骤和演示示例。

  • 注意:bug可能比描述的更窄。但我花了一些时间进行一些实验,试图进一步缩小bug的范围,但无法做到。所以这是我目前对bug的最佳理解。*

你尝试恢复依赖项了吗?

是(npm版本7.21.1)。通过使用官方typescript模板创建一个新的CRA项目来确保这不是设置问题,进一步确保了它不是设置问题。

你在用户指南中搜索了哪些术语?

Typescript。没有找到相关条目。

环境

current version of create-react-app: 4.0.3
running from /Users/johnsullivan/.npm/_npx/c67e74de0542c87c/node_modules/create-react-app

System:
  OS: macOS 11.5.2
  CPU: (8) x64 Intel(R) Core(TM) i7-4960HQ CPU @ 2.60GHz
Binaries:
  Node: 16.9.1 - ~/.nvm/versions/node/v16.9.1/bin/node
  Yarn: Not Found
  npm: 7.21.1 - ~/.nvm/versions/node/v16.9.1/bin/npm
Browsers:
  Chrome: Not Found
  Edge: Not Found
  Firefox: Not Found
  Safari: Not Found
npmPackages:
  react: ^17.0.2 => 17.0.2 
  react-dom: ^17.0.2 => 17.0.2 
  react-scripts: 4.0.3 => 4.0.3 
npmGlobalPackages:
  create-react-app: Not Found

(这是在重新创建的CRA项目中运行以重现问题的新项目)

重现步骤和演示

我创建了一个使用官方typescript模板初始化的仓库,并进行了第一次提交。然后我进行了一次足够重现bug的单次提交:commit
要在你自己的项目中测试,我认为你只需要将你的任何TypeScript文件从.ts更改为.js。然后在构建过程中,你将不再收到任何TypeScript错误。

预期行为

在上面的演示项目的情况下:应该输出来自TypeScript编译器的编译错误,并且构建应该失败(错误位于App.tsx中的baz函数)。

实际行为

baz函数中没有发生错误。

xe55xuns

xe55xuns1#

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

相关问题