【问题标题】:tsx cannot find module 'xxx'tsx 找不到模块“xxx”
【发布时间】:2020-06-19 19:01:37
【问题描述】:

我正在使用yarn v2安装依赖包,使用yarn start命令顺利启动项目,但是vscode总是提示找不到本地模块。

这是我的tsconfig.json 文件:

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": false,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react"
  },
  "include": [
    "src"
  ]
}

这是我的文件夹结构:

【问题讨论】:

    标签: typescript yarnpkg tsx yarn-v2


    【解决方案1】:

    您可以使用@yarnpkg/sdks 包(它是 Yarn 2+ 的一部分)

    您可以通过以下方式在 VS Code 中启用 PnP 支持:
    yarn dlx @yarnpkg/sdks vscode
    这将生成 tssdk 并修改您的 .vscode/settings.json 以在 tssdk 内添加 TypeScript 编译器包装器作为 Workspace TypeScript 编译器。您应该运行 VS Code,打开任何 TypeScript 文件,然后在窗口的右下方单击 TypeScript 版本。从下拉菜单中选择Use Workspace Version实际使用Workspace Compiler,其版本后缀为-sdk

    您还可以在此处阅读有关 VSCode 集成的 Yarn 2+ 文档:
    https://yarnpkg.com/advanced/editor-sdks#vscode

    【讨论】:

    • 谢谢! Use Workspace Version 是我错过的部分。