1. vue-icon
Maybe it is the smallest vue component that contains all the feather icons
vue-icon
Package: vue-icon
Created by: qinshenxue
Last modified: Tue, 28 Jun 2022 19:38:45 GMT
Version: 2.3.0
License: MIT
Downloads: 2,955
Repository: https://github.com/qinshenxue/vui-icon

Install

npm install vue-icon
yarn add vue-icon

vue-icon

https://img.shields.io/npm/v/vue-icon.svg
https://img.shields.io/npm/dm/vue-icon.svg
https://img.shields.io/npm/l/vue-icon.svg

vue2 svg icon component

Maybe it is the smallest vue component library that contains all the feather icons

Icons

https://qinshenxue.github.io/vue-icon/

Usage

using npm

 $ npm install vue-icon

The default component name is icon, you can specify a new component name with Vue.use(plugin,customName).

 import Vue from 'vue';
import App from './app.vue';
import feather from 'vue-icon'
Vue.use(feather, 'v-icon')
new Vue({
    el: '#app',
    render: h => h(App)
});

Or configure an object to change the name and the default icon class.

 Vue.use(feather, {
    name: 'v-icon',
    props: {
        baseClass: {
            type: String,
            default: 'v-icon'
        },
        classPrefix: {
            type: String,
            default: 'v-icon-'
        }
    }
})
// or
Vue.use(feather, {
    name: 'v-icon',
    data(){
        return {
            baseClass: 'v-icon',
            classPrefix: 'v-icon-'
        }
    }
})

The configured objects are treated as mixins, so you can define it like normal Vue instance objects.

using in .vue file

 <template>
    <div>
        <v-icon name="eye"></v-icon>
        <v-icon name="x"></v-icon>
        <custom-icon name="activity" base-class="custom-icon"></custom-icon>
    </div>
</template>

<script>
    import customIcon from 'vue-icon/lib/vue-feather.esm'
    export default{
        components: {
            customIcon
        },
        data: function () {
            return {
                baseClass: 'v-icon'
            }
        }
    }
</script>
<style>
    .v-icon,
    .custom-icon {
        width: 24px;
    }
</style>

Or using script tag

 <script type="text/javascript" src="vue.js"></script>
<script type="text/javascript" src="https://unpkg.com/vue-icon/lib/vue-feather.min.js"></script>

<!-- component name is icon by default -->
<icon name="close"></icon>

Icon Style

Components don't contain any style definitions, you can define styles based on baseClass:'icon' and classPrefix:'icon-'.

 .icon{
    color:#666
}
.icon:hover{
    color:#000
}
.icon-close{
	color:red
}

Component Attributes

Attribute Description Type Default
name The name of icon string --
base-class icon base class string icon
class-prefix icon class prefix string icon-

Changelog

Detailed changes for each release are documented in the release notes.

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin