yarn-pnp非常棒-不再有node_modules! 但是如果没有node_models,打字稿/ vscode似乎无法正确解析模块。
有没有办法使这项工作有效? 谢谢!
答案 0 :(得分:2)
添加到@Viktor Vlasenko:
当我有一个工作区并在工作区中创建一个打字稿项目时,
新项目的 typescript.tsdk
中的规则 typescript.enablePromptUseWorkspaceTsdk
和 settings.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