我正在使用webpack构建svg-sprite。
但也有一个问题:部分图标有多种颜色,另一部分是- only图标。它们是按原样使用的。
一个颜色图标应根据:hover
/ :active
更改颜色。
而且,根据这一点,我应该清除一个彩色图标的填充属性。
我不能用多色的。
我决定把它们分开到不同的文件夹中,创建两个webpack规则:
{
test: /icon\/.*\.svg$/,
loaders: [
'svg-sprite-loader',
{
loader: 'svgo-loader',
options: {
plugins: [
// ...
],
},
},
],
},
{
test: /monoicon\/.*\.svg$/,
loaders: [
'svg-sprite-loader',
{
loader: 'svgo-loader',
options: {
enforce: 'pre',
plugins: [
// ...
{ removeAttrs: { attrs: '(fill|stroke)' } },
],
},
},
],
},
一切都很好,但实际上不起作用。我正在进入控制台:
…/monoicon/cross.svg
Module build failed: Error: Error in parsing SVG: Non-whitespace before first tag.
Line: 0
Column: 1
Char: i…
挖掘我发现的网络:
我装货的方式出了问题。当您要覆盖其他加载程序时,您需要前缀
require("-!...
..。
https://github.com/jhamlet/svg-react-loader/issues/3#issuecomment-146334228
因此,看起来问题的根源在于我必须使用svgo-loader
进行规则。重写webpack加载器规则,在每个svg导入- kinda糟糕的想法。那我怎么才能以适当的方式解决这个问题呢?
致以问候。
发布于 2017-06-04 09:29:10
我是个白痴。编写regexp的:
/\/icon\/.*\.svg$/
/\/monoicon\/.*\.svg$/
https://stackoverflow.com/questions/44352194
复制相似问题