create-react-app 在tsconfig.json中,无论模板如何设置,noEmit始终设置为true,

ecfdbz9o  于 22天前  发布在  React
关注(0)|答案(7)|浏览(22)

CRA似乎会忽略noEmit值在tsconfig.json模板文件中的cra-template设置。
无论我是否将该字段从模板tsconfig.json文件中省略,或者我是否明确将其设置为false,生成的模板tsconfig文件都将将noEmit设置为true
以下是我的模板以供参考:
https://github.com/halfnibble/cra-template-heft/
请注意tsconfig中的noEmit: false设置
https://github.com/halfnibble/cra-template-heft/blob/main/template/tsconfig.json#L21
但是,该设置不会传播到使用此模板创建的项目中。

ghhkc1vu

ghhkc1vu1#

如果我提交一个PR,使得tsconfig的noEmit成为一个可重写的默认值,有人会考虑吗?

h7appiyu

h7appiyu2#

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

xkrw2x1b

xkrw2x1b3#

这可以被认为是#10796的重复,但肯定不是陈旧的。

anauzrmj

anauzrmj4#

嘿,@halfnibble,你解决了这个问题吗?我现在也处于类似的情况,我在tsconfig文件中设置了paths的值,但是生成的模板会移除这个值。

h79rfbju

h79rfbju5#

我还没有解决这个问题。
这个CRA工具被广泛使用,但看起来维护者的工作量很大。

c7rzv4ha

c7rzv4ha6#

看起来是这样。

无论如何,我已经找到了解决这个问题的方法。我的方法包括使用自定义的 react-scripts ,它在 CRA 官方的 docs 中提到过。基本上我所做的是修改 packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js 中的 compilerOptions 变量,以便不会覆盖生成的 tsconfig 文件中的 paths

就你的情况而言,我认为 noEmit 的值应该是 { value: true }

希望这对你有所帮助!

8aqjt8rx

8aqjt8rx7#

我已经创建了一个PR来尝试修复这里的noEmit问题:/pull/12868

相关问题