- 首先常规操作npm install svg-sprite-loader -D
- 但是这里安装的svg-sprite-loader界面上报错,有可能是svg-sprite-loader不适配
- 如果需要svgo-loader可以加上,如果本上得到的icon就比较规范可以不用引入这个loader,这个loader比较好用的操作是可以重置所有svg的fill,
- 在webpack.config.js里面去配置如下代码
{
test: /\.svg$/,
loader: 'svg-sprite-loader',
include: path.resolve('src/assets/icons'),
options: {
symbolId: 'icon-[name]'
}
},
这个配置有一个关键节点,path.resolve如果一旦配错则不会显示图片,最终找到的问题是在这个位置,令人吐血
5. 创建上下文
const requireAll = (requireContext: any) => {
return requireContext.keys().map(requireContext);
};
const req = require.context("../../assets/icons/svg", true, /.svg$/);
requireAll(req);
export { }
- 这里创建的上下文需要在主应用入口再引入一遍
- 至此,自定义svg的过程全局结束