//SvgIcon是组件名 { }里边是组件内容
Vue.component(‘SvgIcon‘,{
template:`<div>我是SvgIcon组件</div>`,
data(){
return {
msg:‘hello‘
}
}
})
//SvgIcon.vue
<template>
<div>
//这是插入svg文件的 固定写法
<!-- <svg?:class="svgClass"?aria-hidden="true">
???? <use?:xlink:href="name"></use>
?? </svg> -->
</div>
</template>
<script>
在main.js文件里
//引入组件
import SvgIcon from "./SvgIcon.vue"
//注册组件 SvgIcon
Vue.component("SvgIcon", SvgIcon)
//解析./svg文件夹里的所有 .svg 文件
const req = require.context("./svg", false, /\.svg$/)
const requireAll = requireContext => {
return requireContext.keys().map(requireContext)
}
//require.context(‘./svg’,?false,?/\.svg$/) 参数说明:
//第一个:目标文件夹
//第二个:是否遍历子级目录
//第三个:定义遍历文件规则
chainWebpack: config => {
const svgRule = config.module.rule("svg")
svgRule.uses.clear()
svgRule
.use("svg-sprite-loader")
.loader("svg-sprite-loader")
.options({
symbolId: "icon-[name]",
include: ["./src/icons"]
})
},
npm install svg-sprite-loader -S
原文:https://www.cnblogs.com/maizilili/p/12632387.html