ts中tsconfig.json文件配置报错,请问怎么解决?

作者站长头像
站长
· 阅读数 7

ts中tsconfig.json文件配置报错,请问怎么解决?请问这种的报错提示怎么解决?尝试过的方法:ts中tsconfig.json文件配置报错,请问怎么解决?

回复
1个回答
avatar
test
2024-06-29

反对楼上回答。

你原来的配置里 "moduleResolution": "bundler" 是没问题的,不需要改。它本来就是兼容 "moduleResolution": "node" 的。

你这么改虽然能解决图中的报错问题,但就完全改变了 moduleResolution 的意图了。题主要是觉得改了就改了,反正用不上 bundler 的特性,那就可以忽略我下面的回答。如果题主既想保留 bundler 特性、还要解决图中的报错,那就得想办法找到真实原因,不能这么头痛医头脚痛医脚。


首先为啥我在评论区里问题主 TS 版本,因为 bundler 这个配置项是 TS 5.0 之后才加入的。并且此时 TS 对于图中这种情况的错误提示信息已经改为了:

REF: https://github.com/microsoft/TypeScript/blob/v5.0-rc/src/compiler/diagnosticMessages.json#L4168

Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'.

注意加粗的部分,说的是只要不为 classic 就可以了。可图里的分明写的是 ...without 'node' module resolution strategy,要求必须为 node,显然是没有识别 bundler 这个配置项。

但这个问题只能出现在低版本的 TS 上,而题主又说自己用的是 v5.1.6,所以问题就很奇怪。

只能猜测题主此时项目里依赖的并非项目 node_modules 里安装的高版本的 TS,而是不知道在哪全局安装过的一个低版本的 TS。

这种情况下如果用的是 VSCode,可以尝试在 settings.json 里强制指定一下 TS 的路径:

answer image

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容