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 相关文章推荐
基于jquery的Repeater实现代码
Jul 17 Javascript
JQuery基础语法小结
Feb 27 Javascript
基于jquery css3实现点击动画弹出表单源码特效
Aug 31 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
Sep 17 Javascript
BootStrap Select清除选中的状态恢复默认状态
Jun 20 Javascript
Vue中使用webpack别名的方法实例详解
Jun 19 Javascript
浅析java线程中断的办法
Jul 29 Javascript
Vue面试题及Vue知识点整理
Oct 07 Javascript
原生js实现公告滚动效果
Jan 10 Javascript
Windows下Node爬虫神器Puppeteer安装记
Jan 09 Javascript
weui中的picker使用js进行动态绑定数据问题
Nov 06 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
May 12 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 抓取新浪读书频道的小说并生成txt电子书的代码
2009/12/18 PHP
php数组函数序列之next() - 移动数组内部指针到下一个元素的位置,并返回该元素值
2011/10/31 PHP
php在文件指定行中写入代码的方法
2012/05/23 PHP
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
浅析php静态方法与非静态方法的用法区别
2016/05/17 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
laravel5.6实现数值转换
2019/10/23 PHP
List Installed Hot Fixes
2007/06/12 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
js实现下拉框选择要显示图片的方法
2015/02/16 Javascript
JavaScript实现鼠标点击后层展开效果的方法
2015/05/13 Javascript
AngularJS中controller控制器继承的使用方法
2017/11/03 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
2018/10/12 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
jQuery/JS监听input输入框值变化实例
2019/10/17 jQuery
Javascript实现简易天数计算器
2020/05/18 Javascript
js实现时间日期校验
2020/05/26 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
[01:01:29]2018DOTA2亚洲邀请赛 4.4 淘汰赛 VP vs Liquid 第一场
2018/04/05 DOTA
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
pyshp创建shp点文件的方法
2018/12/31 Python
详解Python用户登录接口的方法
2019/04/17 Python
plt.figure()参数使用详解及运行演示
2021/01/08 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
团队精神演讲稿
2013/12/31 职场文书
松材线虫病防治方案
2014/06/15 职场文书
超市创业计划书
2014/09/15 职场文书
第二批党的群众路线教育实践活动总结报告
2014/10/30 职场文书
感谢信模板大全
2015/01/23 职场文书