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

image.png
请问这种的报错提示怎么解决?
尝试过的方法:
image.png

阅读 4.3k
3 个回答

反对楼上回答。

你原来的配置里 "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 的路径:

image.png

在tsconfig.json里加上一条
"moduleResolution": "node"
你的报错图片里也显示只能在moduleResolution为node的情况下才能配置这几个选项
来自ts文档
image.png

升级下 vscode 的到最新版本

推荐问题
logo
Microsoft
子站问答
访问
宣传栏