chainWebpack: config => { config.module.rules.delete("svg"); //重點:刪除默認配置中處理svg, //const svgRule = config.module.rule('svg') //svgRule.uses.clear() config.module .rule('svg-sprite-loader') .test(/\.svg$/) .include .add(resolve('src/icons')) //處理svg目錄 .end() .use('svg-sprite-loader') .loader('svg-sprite-loader') .options({ symbolId: 'icon-[name]' }) },
上面代碼出自 https://juejin.im/post/5bc93881f265da0aea69ae2e
vue-cli3 的配置svg-sprite-loader大多都是上面這樣的。
但是我自己寫的時候會在node_modules里有個svg導致一直報錯!!!
最終解決!! 出自https://blog.csdn.net/qq_31201781/article/details/85257591
chainWebpack: config => { config.module .rule('svg') .exclude.add(resolve('src/icons')) .end(); config.module .rule('icons') .test(/\.svg$/) .include.add(resolve('src/icons')) .end() .use('svg-sprite-loader') .loader('svg-sprite-loader') .options({ symbolId: 'icon-[name]' }); },
