Two svgo-loader conflict
我正在使用webpack构建svg-sprite。
但是有一个问题:图标的一部分具有多种颜色,而一部分则只有一种。它们按原样使用。
一种颜色图标应根据:hover /:active更改颜色。
并且,据此,我应该清理一种颜色图标的填充属性。
我不能处理多色的。
我决定将它们分离到不同的文件夹并创建两个Webpack规则:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | { test : /icon\\/.*\\.svg$/, loaders : [ 'svg-sprite-loader', { loader: 'svgo-loader', options: { plugins: [ a€| ]}}]}, { test : /monoicon\\/.*\\.svg$/, loaders : [ 'svg-sprite-loader', { loader: 'svgo-loader', options: { enforce: 'pre', plugins: [ a€| { removeAttrs: { attrs: '(fill|stroke)' }}, ]}}]}, |
一切都很好,但是实际上不起作用。我进入控制台:
1 2 3 4 5 | a€|/monoicon/cross.svg Module build failed: Error: Error in parsing SVG: Non-whitespace before first tag. Line: 0 Column: 1 Char: ia€| |
挖网我发现:
It was a problem with the way I was loading it. you need to prefix
require("-!... when you're overriding other loaders...
https://github.com/jhamlet/svg-react-loader/issues/3#issuecomment-146334228
因此,问题的根源在于我必须使用
致谢。
我是个白痴。写正则表达式:
1 2 | /\\/icon\\/.*\\.svg$/ /\\/monoicon\\/.*\\.svg$/ |