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.youkuaiyun.com/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]' }); },