Решение, которое я нашел для этого, состояло в том, чтобы указать каталог node_modules/@types
в параметре tsconfig.json
paths
.
Вот фрагмент, который я изменил в моем tsconfig.json
, который вы должны иметь возможностьадаптироваться к вашему варианту использования.Мне нужно было изменить мои настройки baseUrl
и paths
.
...
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"],
"*": ["./node_modules/@types/*"]
}
...
В моем случае я использую абсолютные URL-адреса в своем проекте TS, поэтому все мои локальные файлы относятся к @/
.Я думаю, что если вы не используете такой абсолютный URL, у вас должно быть что-то вроде следующего для вашей конфигурации:
...
"baseUrl": ".",
"paths": {
"*": ["./src/*", "./node_modules/@types/*"]
}
...
Вот мой полный tsconfig.json
, который, вероятно, содержит много несущественной информации, дляссылка.
{
"compilerOptions": {
"outDir": "./build/",
"sourceMap": true,
"allowJs": true,
"checkJs": true,
"jsx": "react",
"target": "es2017",
"module": "commonjs",
"moduleResolution": "node",
"allowSyntheticDefaultImports": true,
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"removeComments": false,
"preserveConstEnums": true,
"skipLibCheck": true,
"experimentalDecorators": true,
"esModuleInterop": true,
"baseUrl": ".",
"paths": {
"@/*": ["./src/*"],
"*": ["./node_modules/@types/*"]
}
},
"include": ["**/*", "*"],
"exclude": ["build", "node_modules", "coverage"]
}