写一篇文章是为了解决报错:svg-sprite-loader exception. svg-sprite-loader in extract mode requires the corresponding plugin
svg-sprite-loader 引入
yarn add svg-sprite-loader
vue-cli4 配置文件
chainWebpack: config => {
// 添加 svg-sprite-loader 规则
config.module.rule('svg')
.exclude.add(/node_modules/) // 过滤文件下的svg
.end()
.use('svg-sprite-loader')
.loader('svg-sprite-loader')
.options({
symbolId: 'icon-[name]'
})
// 加载 svg 文件
config.plugin('svg-sprite-loader')
.use(require('svg-sprite-loader/plugin'), [{ plainSprite: true }])
}
main.js文件
// 文件路径 是否有子级 校验
const req = svgUrl || require.context('@/assets/basics/svg', true, /\.svg$/)
const requireAll = requireContent => requireContent.keys().map(requireContent)
requireAll(req)
// 备注 require.context('需要加载的svg文件目录', '子级svg是否添加', /\.svg$/)