網站搜尋

reactjs - 我如何在 Typescript 模組宣告中使用多個萬用字元?


在我的 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.

有沒有辦法讓我宣告那些模組?