与字体图标相比,SVG使用起来更加灵活,所以现在越来越多的项目倾向于使用SVG图标。我们之前发布了vue-svgicon,它是一个Vue2.x的图标生成工具,是一个显示内联SVG图标的组件。目前vue-svgicon在npm上的平均每周下载量为2.5w+。这样vue-svgicon感觉不错,但是有以下缺点:需要提前将svg文件构建成js/ts模块,全局注册。无法按需加载,所有图标都会打包到主文件中,即使不再使用图标,导致主包过大只支持vue针对以上不足,我们重构(重写?)vue-svgicon,并且将项目名称从vue-svgicon改为svgicon,说明它不仅仅支持Vue.重构的思路是将功能拆分成多个npm包,使用起来更灵活,项目的定位变成了SVG图标工具集。该特性支持多种框架,默认提供Vue2.x、Vue3.x、React>=16.8图标组件。可以通过@yzfe/svgicon编写支持其他框架的组件,并通过webpack加载器(@yzfe/svgicon-loader)按需加载,将SVG文件加载到图标数据或图标组件中,并可以自定义生成代码。多功能,支持多种颜色,包括渐变;支持同时设置填充和描边;支持原色,只能修改某一种颜色的值;支持缩放、动画等功能;图标预览,在任意文件夹,使用@yzfe/svgicon-viewer查看SVG图标效果npmpackage@yzfe/svgicon根据传入的参数(props)生成SVG图标组件需要的数据@yzfe/vue-svgiconSVG图标组件forvue2.x@yzfe/vue3-svgiconSVG图标组件forvue3.x@yzfe/react-svgiconSVG图标组件forreact@yzfe/svgicon-gen根据SVG文件内容,生成图标数据(图标名称和处理过的SVG内容)@yzfe/svgicon-loader加载SVG文件到图标数据(vue)或SVG图标组件(react),可以自定义生成代码@yzfe/svgicon-viewer预览SVG图标@yzfe/vue-cli-plugin-svgiconvue-cli插件,可以快速配置svgicon@yzfe/svgicon-polyfillSVGinnerHTMLCompatible(IE)QuickStart(VUE)Installandusethevue-cliplug-in(recommended)#会提示填写SVG文件路径,全局注册的组件标签名和vue的Versionvue添加@yzfe/svgicon如果@yzfe/vue-cli-plugin-svgicon有已经安装,但是没有调用这个插件,可以手动调用。vueinvoke@yzfe/svgicon使用
