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 字符编码规则
May 04 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
Nov 07 Javascript
jquery给图片添加鼠标经过时的边框效果
Nov 12 Javascript
JavaScript立即执行函数的三种不同写法
Sep 05 Javascript
js实现网站最上边可关闭的浮动广告条代码
Sep 04 Javascript
Bootstrap table使用方法详细介绍
Dec 09 Javascript
jQuery上传多张图片带进度条样式(DEMO)
Mar 02 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
Jan 16 Javascript
vue2.0 computed 计算list循环后累加值的实例
Mar 07 Javascript
深入理解react-router 路由的实现原理
Sep 26 Javascript
JS中FormData类实现文件上传
Mar 27 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
Apr 01 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
joomla数据库操作示例代码
2016/01/06 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
2012/08/14 Javascript
js调试工具Console命令详解
2014/10/21 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
JS给swf传参数的实现方法
2016/09/13 Javascript
深入理解bootstrap框架之入门准备
2016/10/09 Javascript
详解jQuery插件开发方式
2016/11/22 Javascript
Sequelize中用group by进行分组聚合查询
2016/12/12 Javascript
ES6扩展运算符的用途实例详解
2017/08/20 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
React 路由懒加载的几种实现方案
2018/10/23 Javascript
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
Python中input与raw_input 之间的比较
2017/08/20 Python
关于Django显示时间你应该知道的一些问题
2017/12/25 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
python机器学习库xgboost的使用
2020/01/20 Python
Python根据URL地址下载文件并保存至对应目录的实现
2020/11/15 Python
HTML5实现音频和视频嵌入的方法
2018/08/22 HTML / CSS
智乐游戏测试笔试题
2014/05/21 面试题
春风行动实施方案
2014/03/28 职场文书
令人印象深刻的自荐信
2014/05/25 职场文书
离职保密承诺书
2014/05/28 职场文书
平安建设工作方案
2014/06/02 职场文书
实现中国梦思想汇报2014
2014/09/13 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
南京导游词
2015/02/03 职场文书
感恩的心主题班会
2015/08/12 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers
go语言求任意类型切片的长度操作
2021/04/26 Golang
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
详解ZABBIX监控ESXI主机的问题
2022/06/21 Servers