В моем проекте ReactJS я использую пакет svg-transform-loader в WebPack, который обновляет некоторые цвета моих SVG на лету.
import starOutlineIcon from 'images/star-outline.svg'
import greyStarOutlineIcon from 'images/star-outline.svg?stroke=#888888'
Это работает довольно хорошо, и яЯ использовал это в течение некоторого времени.
Однако я начал печатать свой код, используя TypeScript (v3.4.5), и мне пришлось использовать пользовательский тип для изображений:
declare module '*.svg' {
const content: string
export default content
}
Iхотел сделать то же самое для преобразованного SVG, однако синтаксис объявления модуля не поддерживает несколько подстановочных знаков:
declare module '*.svg?stroke=*' {
const content: string
export default content
}
Однако это происходит при использовании tsc
:
error TS5061: Pattern '*.svg*' can have at most one '*' character.
Есть идеи, как я могу объявить эти модули?