因为对 chainWebpack 不是很熟悉;
const svgRule = config.module.rule('svg');
svgRule.uses.clear();
svgRule.test(/\.svg(\?v=\d+\.\d+\.\d+)?$/)
.include
.add('src')
.end()
.use('babel')
.loader('babel-loader')
.end()
.use('svgr')
.loader('@svgr/webpack')
.options({
babel: false,
icon: true
});
我做了如上的配置,是希望获得下面的效果

但是我这边获得还是 base64 的东西

urlLoaderExcludes: [/\.svg$/],
chainWebpack(config) {
config.module
.rule('svg')
.test(/\.svg(\?v=\d+\.\d+\.\d+)?$/)
.use([
{
loader: 'babel-loader',
},
{
loader: '@svgr/webpack',
options: {
babel: false,
icon: true,
},
},
])
.loader(require.resolve('@svgr/webpack'));
},
@RanQiwu 设置通过 3q
格式化下 楼上的代码
urlLoaderExcludes: [/.svg$/],
chainWebpack(config) {
config.module
.rule('svg')
.test(/.svg(\?v=\d+.\d+.\d+)?$/)
.use([
{
loader: 'babel-loader'
},
{
loader: '@svgr/webpack',
options: {
babel: false,
icon: true
}
}
])
.loader(require.resolve('@svgr/webpack'));
}
umi 3.0 参考 #4035
Most helpful comment