Typescript 在使用 create react app 进行编译时不会出错
Posted
技术标签:
【中文标题】Typescript 在使用 create react app 进行编译时不会出错【英文标题】:Typescript does not error on compilation with create react app 【发布时间】:2021-04-27 02:11:54 【问题描述】:我已经使用npx create-react-app my-app --template typescript
建立了一个新项目,并且我没有更改任何配置设置。
如果我输入一些有 TS 错误的代码,我的 IDE(VS 代码)会显示错误。但是,当我运行 start/build 时,我没有收到任何编译错误。
除此之外,npm run build
在我们的 GitLab CI/CD 管道上运行时确实会失败并出现错误。
我已经检查了我的 TS 版本,无论是在项目中还是在我的全局模块所在的位置,都是相同的版本 (4.1.3)。
正如我所说,我没有对 create react app 生成的内容进行任何更改,我尝试创建一个新项目并获得相同的结果。有人有什么想法吗?
编辑 - 补充一点,如果我在根目录运行 tsc
会出现编译错误,但 npm start
不会。
编辑 2 - 这是我在 package.json 中的脚本(不受 CRA 提供的内容影响)
"scripts":
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
【问题讨论】:
如何在本地运行?使用npm run build
?
是的,npm run build 和 npm run start 在它应该出错时都编译没有错误。 npm run build on GitLab CI/CD 管道错误。
你能告诉我们你package.json
中的“脚本”部分吗?
@gbalduzzi 我已经添加到问题中,他们没有受到 CRA 给我们的影响
请提供有关您遇到的错误的更多信息
【参考方案1】:
我发现我必须这样做才能看到 tsc
错误,但我不喜欢它
"test": "tsc && react-scripts test",
编辑:看起来这实际上是根据https://github.com/facebook/create-react-app/issues/5626 建议的解决方法
【讨论】:
我一直测试到 react-scripts@2,似乎测试从未被编译过(使用 tsc),所以无论它们被编译/转译,类型都被忽略了跨度>以上是关于Typescript 在使用 create react app 进行编译时不会出错的主要内容,如果未能解决你的问题,请参考以下文章
使用 create-react-app 和 Typescript 时如何在构建时加载 .md 文件?
Typescript 在使用 create react app 进行编译时不会出错
在 create-react-app + typescript 中导入静态 JSON
.create() on mongoose 模式错误,“此表达式不可调用”-TypeScript