VS Code使用Yarn PnP SDK时TypeScript无法识别模块问题求助
Yarn PnP + TypeScript VS Code模块解析错误解决方案
Yarn PnP SDK与TypeScript本身不存在兼容性问题,该报错由VS Code默认使用全局TypeScript版本、未适配PnP解析规则导致,可按以下步骤排查解决:
- 切换VS Code TypeScript为工作区版本
打开项目内任意.ts/.tsx文件,按下F1唤起命令面板,输入TypeScript: 选择TypeScript版本,选择使用工作区版本(对应路径为.yarn/sdks/typescript/lib/typescript.js),随后再执行TypeScript: 重启TS服务器生效。 - 补全VS Code PnP适配配置
重新执行yarn sdks vscode typescript命令,SDK会自动在.vscode/settings.json中生成以下配置,无需手动修改:{ "typescript.tsdk": ".yarn/sdks/typescript/lib", "typescript.enablePromptUseWorkspaceTsdk": true } - 修正tsconfig解析规则
你当前配置中的moduleResolution: node为旧版Node解析规则,不兼容PnP逻辑,修改为以下配置即可:{ "compilerOptions": { // 保留原有配置不变,新增/修改以下两项 "moduleResolution": "node16", "moduleSuffixes": [".ts", ".tsx", ".js", ".jsx", ".json"] } } - 修复PnP映射缓存
执行yarn install重新生成.pnp.cjs映射文件,确保react、@types/react等依赖已被正确登记;若未安装React类型声明,执行yarn add -D @types/react @types/react-dom补充。
注:webpack能正常构建是因为已配置Yarn PnP插件对接了PnP解析逻辑,和VS Code侧的TS解析逻辑相互独立。
内容的提问来源于stack exchange,提问作者Anthony
相关产品推荐
相关产品推荐

