在VSCode中,我有一个类似于下面的项目结构:
my-project
﹂client
﹂client.test.ts
﹂package.json
﹂server
﹂server.test.ts
﹂package.json
package.json
文件包含jest
和@types/jest
等测试的依赖项。
如果我直接打开其中一个子文件夹(客户端或服务器),VSCode将显示测试文件,没有任何错误,因为它可以找到jest全局变量(如expect
、describe
等)的所有定义。
如果我打开项目的根目录(my-project),VSCode会在测试文件中显示错误,因为它无法再找到jest
的类型定义。
如果我在项目的根添加一个package.json
,然后向其添加jest类型,VSCode又会很高兴。
是否有可以更改的设置或配置允许VSCode从项目根目录查找jest全局变量的类型定义,而无需单独安装它们?
1条答案
按热度按时间58wvjzkj1#
有几种方法可以管理这样的项目结构。
您可以考虑将其作为 * monorepo * 处理:有很多工具可以管理这样的monorepo,特别是在
node_modules
根文件夹中安装通用的和兼容的包。这特别利用了Node.js模块解析,它在所有包含文件夹的node_modules
目录中查找非相对导入:另一种可能的解决方案是使用
typeRoots
编译器选项配置根tsconfig.json
:x一个一个一个一个x一个一个二个x