我有一个的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