700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 解决:Svg图标 vue中使用 .svg 文件

解决:Svg图标 vue中使用 .svg 文件

时间:2021-05-01 09:33:05

相关推荐

解决:Svg图标 vue中使用 .svg 文件

解决:颜色不能切换

1.使用插件

npm i svg-sprite-loader

2.webpack.base.conf.js 文件中配置

module: {rules: [{test: /\.svg$/,loader: "svg-sprite-loader",include: [resolve("src/icons/svg")], // include => 只处理指定的文件夹下的文件options: {symbolId: "icon-[name]"}},{test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,loader: "url-loader",exclude: [resolve("src/icons/svg")], // exclude => 不处理指定的文件夹下的文件options: {limit: 10000,name: utils.assetsPath("img/[name].[hash:7].[ext]")}},]}直接复制这里:{test: /\.svg$/,loader: "svg-sprite-loader",include: [resolve("src/icons/svg")], // include => 只处理指定的文件夹下的文件options: {symbolId: "icon-[name]"}},{test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,loader: "url-loader",exclude: [resolve("src/icons/svg")], // exclude => 不处理指定的文件夹下的文件options: {limit: 10000,name: utils.assetsPath("img/[name].[hash:7].[ext]")}},

3.src下新建一个icons文件夹

文件目录:

注意:

目录名称,位置可以看自己喜好,但是这里要和你创建的目录对应起来

svg文件夹就存放一些 .svg 文件

index.js: 直接复制

import Vue from "vue";import SvgIcon from "@/components/SvgIcon"; // svg组件// register ponent("svg-icon", SvgIcon);const requireAll = requireContext => requireContext.keys().map(requireContext);const req = require.context("./svg", false, /\.svg$/);requireAll(req);

4.main.js

import "./icons/index.js";

5.需要使用的组件

<svg-icon iconClass="bangzhu"></svg-icon>

iconClass: .svg文件的名字

className:相当于 class

6.成功

关于颜色不能改变

.svg文件style标签里的 fill:#fff 直接删掉

个别会有 stroke,也删掉

但是这种在编辑 css 的时候需要:

网上查了查,说是描边颜色,可能做 svg 的时候只是个描边,所以使用 color 没有效果

.icon{stroke: #fff;}

看实际情况是否添加 color 属性

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。