使用svg-sprite-loader库自定义SvgIcon组件

目录结构

image.png

vue.config.js

const path = require('path')

function resolve (dir) {
  return path.join(__dirname, dir)
}

module.exports = {
  chainWebpack (config) {
    config.module
      .rule('svg')
      .exclude.add(resolve('src/icons'))
      .end()

    config.module
      .rule('icons')
      .test(/\.svg$/)
      .include.add(resolve('src/icons'))
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({ symbolId: 'icon-[name]' })
      .end()
  }
}

icon/index.js

import Vue from 'vue'
import SvgIcon from '../components/SvgIcon.vue'

Vue.component('svg-icon', SvgIcon)

const req = require.context('./svg', false, /\.svg$/)

req.keys().map(req)

SvgIcon.vue







app.vue





你可能感兴趣的:(使用svg-sprite-loader库自定义SvgIcon组件)