Oneof loader for webpack loaders select, the options similar with builtin oneOf, An array of loaders from which only the first matching loaders is used when the conditions matches.
yarn add oneof-loader -D --production=false
Within your webpack configuration object, you'll need to add the oneof-loader to the list of modules, like so:
module: {
rules: [
{
test: /\.svg$/,
use: {
loader: 'oneof-loader',
options: {
oneOf: [
{
test: /\/src\/assets\/icons\/svg\//,
loader: 'svg-sprite-loader',
options: {
symbolId: 'icon-[name]',
extract: false
}
},
{
test: /\/src\//,
exclude: [
/iconfont\//,
resolve('src/assets/img')
],
use: [
{ loader: 'babel-loader' },
{ loader: 'vue-svg-loader' }
]
},
{
loader: 'svg-url-loader',
options: {
stripdeclarations: true,
limit: 1024,
name: 'img/[name].[hash:8].[ext]'
}
}
]
}
}
}
]
}
MIT Copyright (c) Allex Wang