可以将yarn-pnp与typescript / vscode一起使用吗?

时间:2019-03-02 01:13:02

标签: typescript visual-studio-code yarnpkg

yarn-pnp非常棒-不再有node_modules! 但是如果没有node_models,打字稿/ vscode似乎无法正确解析模块。

有没有办法使这项工作有效? 谢谢!

2 个答案:

答案 0 :(得分:2)

添加到@Viktor Vlasenko:

当我有一个工作区并在工作区中创建一个打字稿项目时, 新项目的 typescript.tsdk 中的规则 typescript.enablePromptUseWorkspaceTsdksettings.json 可能不起作用。在这种情况下,您在选择 TypeScript 版本时不会找到 x.x.x-pnpify

VS Code 报告了 This setting cannot be applied in this workspace. It will be applied when you open the containing workspace folder directly.

因此,在步骤 yarn dlx @yarnpkg/pnpify --sdk vscode 之后,请确保应用 settings.json 中的那些新规则。您可能需要打开一个新窗口并直接打开文件夹。

VS 代码版本:1.53.2

纱线版本​​:2.4.0

答案 1 :(得分:1)

是的! PnP模块可以同时使用TypeScript编译器和VS Code!您可以使用@berry/pnpify软件包(它是Yarn v2的一部分,但也适用于Yarn v1)。

首先,您应该将包添加到您的项目中:
yarn add -D @berry/pnpify

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

如果要在tsc脚本中运行package.json,请在其前面加上pnpify命令。例如:
"build": "pnpify tsc"

"watch": "pnpify tsc -w"

您还可以在此处参考Yarn v2的官方文档:
https://yarnpkg.github.io/berry/advanced/pnpify