You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode Windows环境下TypeScript模块查找异常问题咨询:无法找到模块及需添加扩展名才能识别

解决Windows下VSCode找不到无扩展名TypeScript模块的问题

嘿,这个问题我太熟了!之前跨Windows和WSL开发TS项目时一模一样的遭遇,折腾了半天才搞明白根源——其实是Windows和Linux环境下TypeScript模块解析的规则差异,再加上VSCode的TS版本配置搞的鬼。下面给你一步步解决:

1. 先统一TypeScript版本(最关键的一步!)

Windows下的VSCode大概率默认用了全局安装的TypeScript,而WSL里你用的是项目本地node_modules里的版本,版本不一致直接导致解析行为天差地别。

  • 打开VSCode命令面板(Ctrl+Shift+P),输入TypeScript: Select TypeScript Version
  • 选Use Workspace Version,强制VSCode用项目本地的TS版本,和WSL环境保持一致

2. 调整tsconfig.json的模块解析配置

项目根目录的tsconfig.json是核心,把这些配置改对,就能让Windows和WSL的解析逻辑对齐:

{
  "compilerOptions": {
    "module": "NodeNext", // 或者Node16,推荐用这个模式完全对齐Node.js的解析规则
    "moduleResolution": "NodeNext",
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "target": "ES2020" // 至少选ES2020以上的版本
  }
}

如果你的项目是基于CommonJS的,那把module改成CommonJS,moduleResolution改成Node,同样能解决无扩展名导入的问题。

3. 检查VSCode的本地设置

有时候VSCode的全局设置会覆盖项目配置,打开Windows下VSCode的settings.json(按Ctrl+, 然后点右上角的打开JSON按钮),添加这两行:

{
  "typescript.tsdk": "./node_modules/typescript/lib", // 强制用项目本地的TS SDK
  "typescript.preferences.importModuleSpecifier": "non-relative"
}

4. 重启TS服务器清缓存

最后一步,按Ctrl+Shift+P输入TypeScript: Restart TS Server,重启后重新打开项目,应该就能和WSL里一样,不用加扩展名也能正常导入模块了!

内容的提问来源于stack exchange,提问作者jiayu lou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 11:27:46