如何配置VSCode以运行Thread 2(使用PnP)驱动的TypeScript
如何配置VSCode以运行Thread 2(使用PnP)驱动的TypeScript 我喜欢使用纱线2(与PnP),几个月前,我建立了一个项目,它的工作很好。现在我尝试设置一个新的项目,但无论我尝试什么,我都无法获得VSCode来正确解析模块。旧项目仍然有效,并且我的测试用例在其中正常工作,因此问题所在一定是新项目,而不是VSCode 我的新项目设置如下:如何配置VSCode以运行Thread 2(使用PnP)驱动的TypeScript,typescript,visual-studio-code,vscode-settings,yarn-v2,Typescript,Visual Studio Code,Vscode Settings,Yarn V2,如何配置VSCode以运行Thread 2(使用PnP)驱动的TypeScript 我喜欢使用纱线2(与PnP),几个月前,我建立了一个项目,它的工作很好。现在我尝试设置一个新的项目,但无论我尝试什么,我都无法获得VSCode来正确解析模块。旧项目仍然有效,并且我的测试用例在其中正常工作,因此问题所在一定是新项目,而不是VSCode 我的新项目设置如下: mkdir my-project cd my-project npm install -g npm npm install -g yarn y
mkdir my-project
cd my-project
npm install -g npm
npm install -g yarn
yarn set version berry
yarn init
yarn add --dev @types/node typescript ts-node prettier
yarn dlx @yarnpkg/pnpify --sdk vscode
cat <<'EOF' > tsconfig.json
{
"compilerOptions": {
"types": [
"node"
]
}
}
EOF
mkdir src
cat <<'EOF' > src/test.ts
process.once("SIGINT", () => process.exit(0));
EOF
VSCode中报告的TypeScript版本:4.1.3-pnpify
> cd my-project
> yarn --version
2.4.0
更新:我尝试将
nodeLinker:node modules
添加到.yarnrc.yml
中,当我在test.ts
中悬停Process
时,VSCode不再报告错误,并正确返回NodeJS.Process
。这至少表明大多数设置应该是正确的,并且是唯一一个给VSCode带来麻烦的PnP。我昨晚迁移到Thread v2并使用PnP时遇到了这个问题
warn dlx@yarnpkg/pnpify--sdk vscode
后,在.warn
目录中创建了以下文件夹结构:.warn/sdks/typescript/lib
“typescript.tsdk”:“.warn/sdks/typescript/lib”
在monorepo中使用Thread工作区时,我在步骤1中还遇到了另一个问题,我要做的是安装
typescript
、prettier
和eslint
作为根包的依赖项(它通常没有任何依赖项)。在第2步中,我将路径更改为frontend/.swean/sdks/typescript/lib
,在将monorepo传递给PnP后,在内部包中,TS找不到根开发依赖项,并请求@types/node
,这在以前是不需要的。我发现这个线程意味着纱线2 PnP变得更加严格,如果它可以帮助您,我想在您的情况下,您必须将@types/node
添加到dev依赖项中。从那时起,如果你找到了合适的解决方案,请毫不犹豫地与大家分享!谢谢!在运行dlx命令后,我的vscode不允许我在ctrl-shift-p->Select typescript version
上选择workspace typescript选项。当我在步骤2中添加键值对时,这就成为可能。因此,使用代码工作区
-文件似乎覆盖了dlx命令所做的设置。
> cd my-project
> yarn --version
2.4.0