我在src/@types/yargs-interactive/index.d.ts
有一个为https://github.com/nanovazquez/yargs-interactive创建的打字文件。其内容如下:
declare function yargsInteractive(): any;
declare namespace yargsInteractive {
interface OptionData {
type: string;
describe: string;
default?: string | number | boolean;
prompt?: string;
}
interface Option {
[key: string]: OptionData;
}
interface Interactive {
usage(usage: string): any;
interactive(options: Option[]): any;
then(callback: (result: any) => any): any;
}
}
export = yargsInteractive;
但是,当我尝试导入它时,得到的只是一个Could not find a declaration file for module 'yargs-interactive'
错误。我尝试更改tsconfig.json文件以将typeRoots
添加到src/@types
目录,但是仍然找不到它。当它在node_modules/@types/yargs-interactive/index.d.ts
下时,它会识别它。
我在这里做什么错了?
答案 0 :(得分:3)
根据this issue comment, typeRoots
的意思是使用全局可用的类型,而不是应导入的类型。尝试改用path mapping:
{
"compilerOptions": {
"baseUrl": ".", // baseUrl is required for paths to work
"paths": {
"*": ["src/@types/*"]
},
// other options...