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 相关文章推荐
Ext面向对象开发实践(续)
Nov 18 Javascript
JavaScript高级程序设计(第3版)学习笔记3 js简单数据类型
Oct 11 Javascript
Javascript 实现的数独解题算法网页实例
Oct 15 Javascript
子页向父页传值示例
Nov 27 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
May 05 Javascript
js网页滚动条滚动事件实例分析
May 05 Javascript
理解javascript定时器中的setTimeout与setInterval
Feb 23 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
Mar 06 Javascript
JS检测数组类型的方法小结
Mar 14 Javascript
纯JS实现只能输入数字的简单代码
Jun 21 Javascript
详解async/await 异步应用的常用场景
May 13 Javascript
vue elementUI使用tabs与导航栏联动
Jun 21 Javascript
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
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
php实现用户在线时间统计详解
2011/10/08 PHP
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
php微信公众平台示例代码分析(二)
2016/12/06 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
Gambit vs ForZe BO3 第三场 2.13
2021/03/10 DOTA
window.open不被拦截的实现代码
2012/08/22 Javascript
JS实现点击文字对应DIV层不停闪动效果的方法
2015/03/02 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
给before和after伪元素设置js效果的方法
2015/12/04 Javascript
5个最顶级jQuery图表类库插件【jquery插件库】
2016/05/05 Javascript
vue组件watch属性实例讲解
2017/11/07 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
2018/11/10 Javascript
Vue项目中ESlint规范示例代码
2019/07/04 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
js实现简单的秒表
2020/01/16 Javascript
js实现验证码功能
2020/07/24 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
[44:50]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第二局
2016/02/26 DOTA
[44:41]Fnatic vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python的高级Git库 Gittle
2014/09/22 Python
让 python 命令行也可以自动补全
2014/11/30 Python
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
Python多进程机制实例详解
2015/07/02 Python
Python简单网络编程示例【客户端与服务端】
2017/05/26 Python
Python玩转PDF的各种骚操作
2019/05/06 Python
在Python中预先初始化列表内容和长度的实现
2019/11/28 Python
使用Python爬虫库BeautifulSoup遍历文档树并对标签进行操作详解
2020/01/25 Python
什么是Python中的匿名函数
2020/06/02 Python
Python连接mysql数据库及简单增删改查操作示例代码
2020/08/03 Python
国外的一些J2EE面试题一
2012/10/13 面试题
国际政治个人自荐信范文
2013/11/26 职场文书
农村党支部书记四风问题个人对照检查材料
2014/09/21 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
52条SQL语句教你性能优化
2021/05/25 MySQL