Я пытаюсь иметь только один файл, чтобы большинство определений типов, которые будут использоваться во всем приложении, я создал папку с именем @types
и файл index.d.ts
, экспортирующий каждый интерфейс / введите, я хочу.
Обновлен мой tsconfig.json для включения этой папки:
{
"compilerOptions": {
"outDir": "./built",
"allowJs": true,
"target": "es5",
"jsx": "react",
"allowSyntheticDefaultImports": true,
"lib": [
"es2015"
],
"typeRoots": [
"./@types"
],
},
"include": [
"./client/**/*",
"./@types/**/*"
],
"awesomeTypescriptLoaderOptions": {
"silent": true,
"errorsAsWarnings": true
}
}
Даже если в коде (внутри клиента / ...) я ссылаюсь на один из интерфейсов, присутствующих в index.d.ts, vscode выдает «Не удалось найти имя».
Есть ли лучший способ это исправить?
Определение интерфейса присутствует внутри @ types / index.d.ts.
export interface Agent {
name: string;
...
}
Использование:
interface Props extends RouteComponentProps<any> {
agent?: types.Agent;
}