vue3封装icon图标组件

1.创建utils文件夹,在utils文件夹中创建validata.js,判断图标是否为外部资源。

validata.js:

// 判断是否为外部资源
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

2.在components中创建SvgIcon文件夹,在SvgIcon文件夹中创建index.vue。

index.vue:






3.使用

ps:如果是iconfont上的图标,需要在public中的html引入链接,点进去有iconfont教程,请参考symbol 引用。

iconfont-阿里巴巴矢量图标库

import SvgIcon from '@/components/SvgIcon/index.vue'

    

4.全局引入

(1) 在src目录下创建icons文件夹,创建svg子文件夹放svg矢量图,并在icons文件夹下创建文件index.js。

index.js:

import SvgIcon from '@/components/SvgIcon'
// 导入所有的svg图标
const svgRequire = require.context('./svg', false, /\.svg$/)
svgRequire.keys().forEach((svgIcon) => svgRequire(svgIcon))
// console.log(svgRequire.keys())

export default (app) => {
  app.component('svg-icon', SvgIcon)
}

(2) 在main.js中引入上面创建的文件,并全局挂载。

import installIcons from '@/icons'
installIcons(app)

你可能感兴趣的:(vue,vue.js,elementui,javascript)