如何修复TypeScript中'importsNotUsedAsValues'已弃用的tsconfig错误?
解决TypeScript中
importsNotUsedAsValues废弃错误的具体方案 不建议忽略错误
添加ignoreDeprecations: "5.0"只是临时屏蔽警告,等到TypeScript 5.5版本后该配置会完全失效,届时仍需修改代码适配新规则,不如现在直接完成迁移,避免后续升级的额外成本。
推荐方案:改用verbatimModuleSyntax
1. 修改tsconfig.json配置
打开项目根目录的tsconfig.json,找到compilerOptions节点:
- 删除原有
"importsNotUsedAsValues"配置项 - 添加
"verbatimModuleSyntax": true
修改后的compilerOptions示例:
{ "compilerOptions": { // 保留其他原有配置 "verbatimModuleSyntax": true // 移除之前的 "importsNotUsedAsValues": "xxx" 配置 } }
2. 适配代码导入语法
verbatimModuleSyntax会严格区分类型导入和值导入,需调整代码中的导入语句:
- 仅导入类型时,必须使用
import type:// 错误写法 import { UserType } from './types' // 正确写法 import type { UserType } from './types' - 同时导入类型和值时,可分开导入或用
type标记类型:// 写法1:拆分导入 import { fetchUser } from './api' import type { UserType } from './api' // 写法2:混合导入并标记类型 import { fetchUser, type UserType } from './api'
3. 验证修改效果
保存配置后,重启VSCode的TypeScript服务(按Ctrl+Shift+P,输入TypeScript: Restart TS Server),检查错误是否消失。若仍有代码报错,根据编辑器提示调整对应导入语句即可。
内容的提问来源于stack exchange,提问作者Donatas Adomavičius
相关产品推荐
相关产品推荐

