vue.js里使用fontawesome免费图标

下载必要的图标库

cmd 复制代码
npm i --save @fortawesome/fontawesome-svg-core
npm i --save @fortawesome/free-solid-svg-icons
npm i --save @fortawesome/free-regular-svg-icons
npm i --save @fortawesome/free-brands-svg-icons

下载fontawesome的vue组件

cmd 复制代码
npm i --save @fortawesome/vue-fontawesome@latest-3

mian.js里引入

js 复制代码
// in main.ts
import './assets/main.css'
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'
import router from './router'

/* import the fontawesome core */
import { library } from '@fortawesome/fontawesome-svg-core'

/* import font awesome icon component */
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'

/* import specific icons */
import { faUserSecret } from '@fortawesome/free-solid-svg-icons'

/* add icons to the library */
library.add(faUserSecret)

const app = createApp(App)
app.component('font-awesome-icon', FontAwesomeIcon)
app.use(createPinia())
app.use(router)

app.mount('#app')

使用图标须知

我们使用某个图标时需要将它的图标名导入main.js:import { faUserSecret } from '@fortawesome/free-solid-svg-icons,然后添加到library中library.add(faUserSecret)

当我们在官网上找到需要引入的图标时,选择vue,例如<font-awesome-icon :icon="['far', 'sun']" />数组里的内容有两个细节:

  • fa是图标的固定前缀,r代表此图标来自我们npm下载的solid, regular, brands里的regular库,fas就代表solid, fab代表brands. 图标名是fa+sun,即faSun
  • 在mian.js里我从solid库引入faUserSecret图标,引入和添加到我自己的library里。使用时就是<font-awesome-icon :icon="['fas', 'user-secret']" />

测试

App.vue

js 复制代码
<template>
  <header class="sticky top-0 bg-weather-primary shadow-lg">
    <nav class="container flex flex-col sm:flex-row items-center gap-4 text-white py-6">
      <div class="flex items-center gap-3 flex-1">
        <font-awesome-icon :icon="['fas', 'sun']" class="text-2xl"/>
        <p class="text-2xl">The Local Weather</p>
      </div>
    </nav>
  </header>
</template>
相关推荐
想学后端的前端工程师9 小时前
【Vue3响应式原理深度解析:从Proxy到依赖收集】
前端·javascript·vue.js
_Kayo_10 小时前
vue3 状态管理器 pinia 用法笔记1
前端·javascript·vue.js
daols8810 小时前
vue 甘特图 vxe-gantt table 可视化依赖线的使用,可视化拖拽创建连接线的用法
vue.js·甘特图·vxe-table
老华带你飞11 小时前
婚纱摄影网站|基于java + vue婚纱摄影网站系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
幽络源小助理13 小时前
SpringBoot+Vue数字科技风险报告管理系统源码 | Java项目免费下载 – 幽络源
java·vue.js·spring boot
成为大佬先秃头13 小时前
渐进式JavaScript框架:Vue 工具 & 模块化 & 迁移
开发语言·javascript·vue.js
叫我阿柒啊1 天前
从Java全栈到前端框架:一场真实的技术面试对话
java·vue.js·spring boot·微服务·typescript·前端开发·后端开发
Aotman_1 天前
Vue MutationObserver 监听
前端·javascript·vue.js·elementui·前端框架·ecmascript
专注前端30年1 天前
Vue3的生命周期钩子有哪些变化?
前端·javascript·vue.js
一 乐1 天前
健身房预约|基于springboot + vue健身房预约小程序系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习·小程序