如何使VSCode为安装在不同位置的模块查找类型声明?
/
└── Users
└── me
├── foo
| └── node_modules
| └── some-module
├── bar
| └── file.ts
└── tsconfig.json
// bar/file.ts
import {} from 'some-module'
// ^^^^^^^^^^^^^ Cannot find module 'some-module' or its corresponding type declarations.ts(2307)
我尝试了tsconfig.json
中的paths
选项,但它没有工作,因为它试图在foo/node_modules
中找到一个名为some-module.ts
的文件(在这种情况下,它似乎不知道如何解释package.json
文件(
我尝试了tsconfig.json
中的rootDirs
选项,但它被忽略了,因为它显然只用于尝试解析相对导入(而some-module
不是相对导入(。
我怎样才能做到这一点?
尝试使用typeRoots
编译器选项:
// /Users/me/tsconfig.json
{
"compilerOptions": {
"typeRoots": [
"./foo/node_modules",
// maybe other locations
],
},
}
请注意,typeRoots
的默认值将被替换,而不是扩展。有关详细信息,请参阅本期。