Webpack实战加载SVG的方法


Posted in Javascript onDecember 26, 2017

SVG 作为矢量图的一种标准格式,已经得到了各大浏览器的支持,它也成为了 Web 中矢量图的代名词。 在网页中采用 SVG 代替位图有如下好处:

  1. SVG 相对于位图更清晰,在任意缩放的情况下后不会破坏图形的清晰度,SVG 能方便地解决高分辨率屏幕下图像显示不清楚的问题。
  2. 在图形线条比较简单的情况下,SVG 文件的大小要小于位图,在扁平化 UI 流行的今天,多数情况下 SVG 会更小。
  3. 图形相同的 SVG 比对应的高清图有更好的渲染性能。
  4. SVG 采用和 HTML 一致的 XML 语法描述,灵活性很高。

画图工具能导出一个个 .svg 文件,SVG 的导入方法和图片类似,既可以像下面这样在 CSS 中直接使用:

body {
 background-image: url(./svgs/activity.svg);
}

也可以在 HTML 中使用:

<img src="./svgs/activity.svg"/>

也就是说可以直接把 SVG 文件当成一张图片来使用,方法和使用图片时完全一样。 所以在3-19 加载图片 中介绍的两种方法 使用 file-loader 和 使用 url-loader 对 SVG 来说同样有效,只需要把 Loader test 配置中的文件后缀改成 .svg ,代码如下:

module.exports = {
 module: {
  rules: [
   {
    test: /\.svg/,
    use: ['file-loader']
   }
  ]
 },
};

由于 SVG 是文本格式的文件,除了以上两种方法外还有其它方法,下面来一一说明。

使用 raw-loader

使用 svg-inline-loader

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript延迟执行实现方法(setTimeout)
Dec 30 Javascript
JavaScript高级程序设计 DOM学习笔记
Sep 10 Javascript
解析js如何获取当前url中的参数值并复制给input
Jun 23 Javascript
node.js中的http.response.write方法使用说明
Dec 14 Javascript
Jquery实现仿京东商城省市联动菜单
Nov 19 Javascript
Javascript类型系统之undefined和null浅析
Jul 13 Javascript
JavaScript中ES6字符串扩展方法
Aug 26 Javascript
jQuery实现导航回弹效果
Feb 27 Javascript
jQuery插件zTree实现更新根节点中第i个节点名称的方法示例
Mar 08 Javascript
ReactNative页面跳转Navigator实现的示例代码
Aug 02 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
Jun 06 Javascript
jQuery实现鼠标移入移出事件切换功能示例
Sep 06 jQuery
vue学习教程之带你一步步详细解析vue-cli
Dec 26 #Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
Dec 26 #Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
Dec 26 #Javascript
细说webpack源码之compile流程-rules参数处理技巧(2)
Dec 26 #Javascript
AngularJS实现的根据数量与单价计算总价功能示例
Dec 26 #Javascript
细说webpack源码之compile流程-rules参数处理技巧(1)
Dec 26 #Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
Dec 26 #Javascript
You might like
星际争霸任务指南——人族
2020/03/04 星际争霸
UTF8编码内的繁简转换的PHP类
2009/07/09 PHP
PHP迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
raphael.js绘制中国地图 地图绘制方法
2014/02/12 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
javascript控制台详解
2015/06/25 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
解决webpack -p压缩打包react报语法错误的方法
2017/07/03 Javascript
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
js链表操作(实例讲解)
2017/08/29 Javascript
微信小程序实现即时通信聊天功能的实例代码
2018/08/17 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
2018/08/24 Javascript
实例分析vue循环列表动态数据的处理方法
2018/09/28 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
2019/08/03 Javascript
js的新生代垃圾回收知识点总结
2019/08/22 Javascript
浅谈layui框架自带分页和表格重载的接口解析问题
2019/09/11 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
如何在python中执行另一个py文件
2020/04/30 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
Css3圆角边框制作代码
2015/11/18 HTML / CSS
德国机车企业:FC-Moto
2017/10/27 全球购物
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
Otticanet英国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/02/10 全球购物
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
专业幼师实习生自我鉴定范文
2013/12/08 职场文书
高中自我鉴定
2013/12/20 职场文书
2015年党员承诺书
2015/01/21 职场文书
财务会计求职信范文
2015/03/20 职场文书
2016年大学迎新工作总结
2015/10/14 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android