Файл декларации TypeScript не читается, пока его папка находится в typeRoots
В проекте машинописного текста (Angular 9) я пытаюсь импортировать частную библиотеку JS.
Когда я импортирую его с import { myMethod } from 'my-private-repo/dist/util';
Я получаю следующую ошибку:
Could not find a declaration file for module 'my-private-repo/dist@types/util'. 'my-private-repo/dist/util.js' implicitly has an 'any' type.
Try `npm install @types/my-private-repo` if it exists or add a new declaration (.d.ts) file containing `declare module 'my-private-repo/dist/util';`
Я попытался исправить проблему, добавив файл декларации в typings
папка со следующим содержимым: declare module "my-private-repo/dist/util";
или даже с declare module "*";
но ошибка не меняется, например, мой файл объявления вообще не читается, пока я изменил свою конфигурацию ts, чтобы включить ее:
{
...
"compilerOptions": {
...
"noImplicitAny": true,
...
"typeRoots": [
"./typings",
"./node_modules/@types"
]
}
}
Я не понимаю, почему мой файл декларации не распознается.
Есть ли у вас какие-либо идеи?
Спасибо:)
1 ответ
Вам нужно добавить файл декларации по одному из этих путей:
'my-private-repo/dist/util.d.ts'
'my-private-repo/dist/package.json'
(и укажите свойство "типы")'my-private-repo/dist/@types/util.d.ts'
прочтите о модуле загрузки машинописного текста: https://www.typescriptlang.org/docs/handbook/module-resolution.html