为什么VSCode无法识别tsconfig.json中配置的路径别名?
问题根因
你当前tsconfig.json的include配置仅覆盖了.ts、.tsx后缀的文件,.js/.jsx文件没有被纳入TypeScript服务的扫描范围,所以路径别名规则不会对这类文件生效。你重命名后缀再改回后临时生效,是因为VSCode将当前打开的活跃文件临时纳入了处理范围,重启后规则就会失效。
解决方案
- 第一步:修改
tsconfig.json的include字段,添加.js和.jsx文件的匹配规则,你原有其他配置保持不变即可:
{ "compilerOptions": { // 原有配置无需改动 }, "exclude": ["node_modules", "build"], "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"] }
你当前配置中allowJs: true已经正确开启,无需修改该项
- 第二步:重启VSCode的TypeScript服务:按下快捷键
Ctrl+Shift+P(Mac系统为Cmd+Shift+P),搜索并执行「TypeScript: 重新启动TS服务器」即可,无需全量重启VSCode。 - 额外排查项:如果修改后仍不生效,检查项目根目录是否残留了旧的
jsconfig.json文件,两类配置同时存在会导致服务优先级判断异常,直接删除旧的jsconfig.json即可。
内容的提问来源于stack exchange,提问作者bluprince13
相关产品推荐
相关产品推荐

