我有一個的WebPack裝載機設立SVG文件在我的WebPack的配置,它看起來像這樣的WebPack裝載機動態查詢
const SVGO_CONFIG = JSON.stringify({
plugins: [
{removeTitle: true},
],
});
const SVG_LOADER = {
test: /\.svg$/,
loader: 'babel!svg-react!svgo?' + SVGO_CONFIG,
};
這讓我import
SVG文件,如果他們的反應,像這樣的組件
import Icon from 'src/images/icon.svg';
但在某些情況下,我希望能夠告訴svgo-loader
剝離從文件fill
和stroke
屬性。我可以通過在配置中設置另一個插件來實現這一點
const SVGO_CONFIG = JSON.stringify({
plugins: [
{removeTitle: true},
{removeAttrs: {attrs: "(fill|stroke)"}},
],
});
但是,這將適用於我導入的所有svg文件。有沒有簡單的方法來標記一個導入語句來稍微修改配置呢?
import TransparentIcon from 'src/images/icon.svg?removeFill`;
我半的解決方案是,將文件保存有額外的擴展(或在不同的文件夾中),但是這將意味着我不會帶或不帶剝離屬性導入它的選項。
我有完全一樣的問題。除了我需要檢查svg文件的名稱與其添加。是否有可能這樣做? test:/.*multicolor\.svg$/ ?? – palyxk
@palyxk如果您需要更易於理解的更復雜的測試,請使用函數。這比維護複雜的正則表達式要容易得多。 –
實際上使用排除是正確的想法,我只是在路徑中混亂 – palyxk