В нашем проекте машинописного текста мы импортировали файлы svg и png через веб-пакет.Для поддержки этого в машинописи я сделал следующее определение типа
declare module '*.svg' {
import { FunctionComponent } from 'react'
type Props = React.SVGAttributes<SVGElement>
const value: FunctionComponent<Props>
export default value
}
Это позволяет нам импортировать файлы SVG с правильными типами, например:
import SomeIcon from '../images/someicon.svg
Проблема в том, чтоопределение типа использует '*.svg'
в качестве соответствия для модулей, поэтому оно всегда совпадает, даже если файл не существует в файловой системе.
Это будет работать,
import IDontExist from 'fakefile/doesnt/exist/bla.svg'
Как я могу правильновведите наши пользовательские модули расширений файлов, одновременно проверяя, существует ли файл в файловой системе?