安装

npm i -D vue-svg-loader

or

yarn add -D vue-svg-loader

webpack 配置

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

vue-cli 3 配置

module.exports = {
chainWebpack: (config) => {
const svgRule = config.module.rule('svg'); svgRule.uses.clear(); svgRule
.use('vue-svg-loader')
.loader('vue-svg-loader');
},
};

如何使用

<template>
<nav>
<a>
<WebpackLogo class="logo" />
webpack
</a>
</nav>
</template>
<script>
import WebpackLogo from './public/webpack.svg'; export default {
name: 'Example',
components: {
WebpackLogo
},
};
</script>
<style scoped lang='scss'> .logo {
width: 28px;
height: 28px;
margin-right: 10px;
fill: #336699;
&:hover {
fill: #ff3366;
}
}
</style>

从以上代码看出,我们可以很方便的改变 svg 属性,而且比 url 引入和直接嵌入 HTML 看起来好很多。推荐大家使用。

让SVG以组件的方式引入吧!的更多相关文章

  1. 1.引入必要的文件 2.加载 UI 组件的方式 4.Parser 解析器

    //引入 jQuery 核心库,这里采用的是 2.0 <scripttype="text/javascript"src="easyui/jquery.min.js& ...

  2. 在单文件组件中,引入安装模块里的css的2种方式:script中引入、style中引入

    在单文件组件中,引入安装模块里的css的2种方式:script中引入.style中引入 1.script中引入 <script> import 'bulma/css/bulma.css' ...

  3. vue3 vite2 封装 SVG 图标组件 - 基于 vite 创建 vue3 全家桶项目续篇

    在<基于 vite 创建 vue3 全家桶>一文整合了 Element Plus,并将 Element Plus 中提供的图标进行全局注册,这样可以很方便的延续 Element UI 的风 ...

  4. UI组件--element-ui--全部引入和按需引入

    主要就是一句话, 如果用到的组件少, 要按需引入, 如果用到的组件很多,就全部引入, 因为按需引入全部的, 和全部引入效果一样(我这是废话, 大家都知道...) 完整引入 在 main.js 中写入以 ...

  5. [Vuejs] svg-sprite-loader实现加载svg自定义组件

    1.安装 svg-sprite-loader npm install svg-sprite-loader -D 或者 npm install svg-sprite-loader --save-dev ...

  6. Vue 创建组件的方式

    Vue 创建组件的方式 2018年08月07日 11:10:56 虔诚带着决然 阅读数:1015   版权声明:本文为博主原创文章,未经博主允许不得用做其他商业活动. https://blog.csd ...

  7. create-react-app:reject和不reject(使用react-app-rewired)这2种情况下的antd组件按需引入配置

    create-react-app:eject和不eject(使用react-app-rewired)这2种情况下的antd组件按需引入配置: 不eject(使用react-app-rewired)配置 ...

  8. 微信小程序:app.json中通过使用扩展库userExtendedLib的方式,引入并使用weui

    微信小程序  PK  APP: 1.微信有海量⽤⼾,⽽且粘性很⾼,在微信⾥开发产品更容易触达⽤⼾:而推⼴app的成本太⾼. 2.微信小程序也可以跨平台(Android和IOS). 一.project. ...

  9. Element-UI 使用 class 方式和 css 方式引入图标

    今天在使用 vxe-table 时,需要引入 Element UI的图标,顺便就找了下这些组件库中图标的引用方式. 我们知道 Element .Ant Design.Font Awesome 等很多组 ...

随机推荐

  1. C语言入门---第九章 C语言指针

    没学指针就是没学C语言! 指针是C语言的精华,也是C语言的难点. 所谓指针,也就是内存的地址,所谓指针变量,也就是保存了内存地址的变量.不过人们往往不会区分两者的概念,而是混淆在一起使用. ===== ...

  2. spring mvc注解之@RequestBody和@RequestParm

    @RequestBody http://localhost:8080/user/login { "username":"jack", "passwar ...

  3. freemarker作为PDF模板实现下载功能

    freemarker 文件 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type ...

  4. Python 基础之匿名函数 迭代器和高阶函数

    一.匿名函数 lambda表达式 用一句话来表达只有返回值的函数,叫匿名函数特点:简洁方便语法:lambda 参数: 返回值 1.不带有参数的lambda表达式 def func():    retu ...

  5. MacBook OSX VMWare Fusion 11安装 Tools For Windows

    需要加载对应客户机系统的安装文件,可以在/Applications/VMware\ Fusion.app/Contents/Library/isoimages文件夹下找到: 设置虚拟机的光驱: 在虚拟 ...

  6. json object string互转

    参考: https://www.cnblogs.com/guangshan/p/4459436.html JsonArray和JsonObject遍历方法 参考:https://blog.csdn.n ...

  7. mybatis查询时间段

    参考:https://bbs.csdn.net/topics/391838987 <!-- 查询条件:创建开始时间 --> <if test="createdBeginti ...

  8. C#委托-事件示例

    Program.cs using System;using System.Collections.Generic;using System.Linq;using System.Text;using S ...

  9. 记录要做的事情,把sql字符串替换写成工具网页。

    之前使用的是java的本地控制台进行sql占位符的替换. 现在我想换个方式,想到了两种. 第一种是使用java +jsp进行替换,前台输出. 第二种是把java代码改成js代码,反正也不用访问数据库. ...

  10. window.onload 方法脚本

    //首先 创建一个函数 function windowOload(func){ var onLoad = window.onload; //如果window.onload没有绑定任何函数 则绑定该函数 ...