Typescript:在.d.ts文件中声明一个类型并在不导入的情况下使用它
我想知道在不直接导入类型或接口的情况下使用类型或接口的正确方法是什么(如果这是一个好主意的话) 目前我有以下代码:Typescript:在.d.ts文件中声明一个类型并在不导入的情况下使用它,typescript,Typescript,我想知道在不直接导入类型或接口的情况下使用类型或接口的正确方法是什么(如果这是一个好主意的话) 目前我有以下代码: import { TCollection } from "../__types__"; function doSomething(collection: TCollection) { // ... } 因此,为了摆脱import语句,我尝试用以下值替换tsconfig.json中的typeroot: { "compilerOptions": { ...
import { TCollection } from "../__types__";
function doSomething(collection: TCollection) {
// ...
}
因此,为了摆脱import
语句,我尝试用以下值替换tsconfig.json
中的typeroot
:
{
"compilerOptions": {
...
"typeRoots": ["./src/__types__/types.d.ts", "./node_modules/@types"],
}
}
并在/src/\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutypes.d.ts
中声明一个类型:
declare type TCollection = {
...
};
但仍然有一个错误:
function doSomething(collection: TCollection) {
^^^^^^^^^^^
Cannot find name 'TCollection'.ts(2304)
}
我犯了一个错误,还是IDE的错误?谢谢您可以在全局范围中定义类型:
//global-types.d.ts
从“某处”导入{Something};
宣布全球{
接口收集{
...
}
}
如果您不需要在全局类型.d.ts
中导入任何内容,您可以直接声明接口:
//global-types.d.ts
从“某处”导入{Something};
接口收集{
...
}
不需要任何tsconfig更改如果将typeroots更改为:“typeroots”:[“/src/\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu