我有一个纱线工作区,其中设置了文件夹public
和server
。我在VS Code中使用TypeScript。在没有预装该软件包的类型的任何模块上,我在VS Code中收到错误:
Cannot find module 'x'
但是,IntelliSense将显示x
作为建议。我同时拥有x
和@types/x
,如果我安装@types/x
似乎没有什么区别。谢谢
Windows 1909 (Latest)
Visual Studio Code 1.43 (Latest)
TypeScript ^3.8.3 (Latest)
Yarn 2.0.0-rc.30 (Latest)
我还尝试为纱线找到类型根,但没有找到。有人可以告诉我根目录类型在哪里。
答案 0 :(得分:1)
类似的问题在这里。该错误来自短绒;我认为它正在检查包锁定文件内部(该文件不存在,因为yarn正在使用yarn.lock
)。
请在您的VSCode用户settings.json
中检查这些内容:
"eslint.packageManager": "yarn",
"prettier.packageManager": "yarn",
"npm.packageManager": "yarn"
这些设置对我有用。 YMMV。
编辑:标点符号已更改
答案 1 :(得分:1)
看看这里的说明:https://yarnpkg.com/getting-started/editor-sdks
<块引用>智能 IDE(例如 VSCode 或 IntelliJ)需要特殊配置才能使 TypeScript 工作。此页面旨在成为我们合作过的每个编辑器的设置集合 - 请对此列表做出贡献!
例如,当使用“vscode”IDE 时执行:
yarn dlx @yarnpkg/pnpify --sdk vscode
上面的命令将连接你的 vscode 项目以依赖纱线,即它在你的 sdks
配置中添加了 .yarn
文件夹,并告诉你的 IDE 使用它,通过将以下内容添加到你的settings.json
:
"typescript.tsdk": ".yarn/sdks/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true
提示:Yarn 以 zip 存档的形式缓存其包。因此,为了还能够检查由纱线管理的 node_modules
导入,您可以安装 ZipFS extension
此扩展为 VSCode 添加了直接从 zip 存档读取文件的支持。它作为 Yarn 工具链的一部分进行维护。将此扩展程序与 Yarn SDK 结合使用将允许您从缓存中无缝打开和编辑文件。