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 相关文章推荐
window.onload 加载完毕的问题及解决方案(上)
Jul 09 Javascript
javascript 客户端验证上传图片的大小(兼容IE和火狐)
Aug 15 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
Apr 23 Javascript
JavaScript保留两位小数的2个自定义函数
May 05 Javascript
javascript 使用for循环时该注意的问题-附问题总结
Aug 19 Javascript
使用Ajax生成的Excel文件并下载的实例
Nov 21 Javascript
js编写选项卡效果
May 23 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
Sep 14 Javascript
fetch 使用及如何接收JS传值
Nov 11 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
Dec 20 Javascript
弱类型语言javascript中 a,b 的运算实例小结
Aug 07 Javascript
Vue使用mixin分发组件的可复用功能
Sep 01 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 高手之路(二)
2006/10/09 PHP
一个MYSQL操作类
2006/11/16 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
PHP 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
2014/10/23 PHP
php curl 获取https请求的2种方法
2015/04/27 PHP
php判断表是否存在的方法
2015/06/18 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
JavaScript中的Math.SQRT1_2属性使用简介
2015/06/14 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
javascript创建含数字字母的随机字符串方法总结
2016/08/01 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
js时间查询插件使用详解
2017/04/07 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
Python中关于Sequence切片的下标问题详解
2017/06/15 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
Python3实现转换Image图片格式
2018/06/21 Python
python跳出双层for循环的解决方法
2019/06/24 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
电大学习个人自我评价范文
2013/10/04 职场文书
办理生育手续介绍信
2014/01/14 职场文书
入伍通知书
2015/04/23 职场文书
清明节文明祭祀倡议书
2015/04/28 职场文书
三十年同学聚会致辞
2015/07/28 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python