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
但是,该设置不会传播到使用此模板创建的项目中。
7条答案
按热度按时间ghhkc1vu1#
如果我提交一个PR,使得tsconfig的
noEmit
成为一个可重写的默认值,有人会考虑吗?h7appiyu2#
这个问题已经被自动标记为过时,因为它没有任何最近的活动。如果没有发生任何进一步的活动,它将在5天后被关闭。
xkrw2x1b3#
这可以被认为是#10796的重复,但肯定不是陈旧的。
anauzrmj4#
嘿,@halfnibble,你解决了这个问题吗?我现在也处于类似的情况,我在tsconfig文件中设置了
paths
的值,但是生成的模板会移除这个值。h79rfbju5#
我还没有解决这个问题。
这个CRA工具被广泛使用,但看起来维护者的工作量很大。
c7rzv4ha6#
看起来是这样。
无论如何,我已经找到了解决这个问题的方法。我的方法包括使用自定义的
react-scripts
,它在 CRA 官方的 docs 中提到过。基本上我所做的是修改packages/react-scripts/scripts/utils/verifyTypeScriptSetup.js
中的compilerOptions
变量,以便不会覆盖生成的tsconfig
文件中的paths
。就你的情况而言,我认为
noEmit
的值应该是{ value: true }
。希望这对你有所帮助!
8aqjt8rx7#
我已经创建了一个PR来尝试修复这里的noEmit问题:/pull/12868