如何在Typescript模块声明中使用多个通配符?

时间:2019-05-10 13:34:49

标签: reactjs typescript webpack typescript3.0

在我的ReactJS项目中,我使用WebPack中的svg-transform-loader包,该包可以动态更新我的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
}

我想对转换后的SVG做同样的事情,但是模块声明语法不支持多个通配符:

declare module '*.svg?stroke=*' {
    const content: string
    export default content
}

但是当我使用tsc时,这种情况会中断:

error TS5061: Pattern '*.svg*' can have at most one '*' character.

关于如何声明这些模块的想法吗?

0 个答案:

没有答案