1
我正在使用webpack來構建svg-sprite。兩個svgo加載器衝突
但有一個問題:部分圖標有多種顏色,部分 - 只有一個。它們按原樣使用。
一個顏色圖標應根據以下內容改變顏色: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
規則。在每個svg導入中重寫webpack加載器規則 - 有點不合適的想法。那麼我如何以適當的方式解決這個問題呢?
問候。
非常感謝:D – Pixelomo