CDN 引入方式

cdnjs

全球最流行的公共 CDN,速度快,覆盖广。

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css">
jsDelivr

支持 npm 包的 CDN,可使用版本范围语法。

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css">
UNPKG

基于 npm 的 CDN,适合快速原型开发。

<link rel="stylesheet" href="https://unpkg.com/@fortawesome/[email protected]/css/all.min.css">

npm 安装与配置

安装最新稳定版
npm install @fortawesome/fontawesome-free
安装指定版本
npm install @fortawesome/[email protected]
yarn 安装
yarn add @fortawesome/fontawesome-free
Webpack 配置(CSS 引入)
// 在入口 JS 中引入 import '@fortawesome/fontawesome-free/css/all.min.css';
Vite 配置
// vite.config.js 无需特殊配置,直接在 main.js 中引入 import '@fortawesome/fontawesome-free/css/all.min.css';

React 组件用法

安装依赖
npm install @fortawesome/react-fontawesome @fortawesome/free-solid-svg-icons
基本使用
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome' import { faHome, faUser, faGear } from '@fortawesome/free-solid-svg-icons' function MyComponent() { return ( <div> <FontAwesomeIcon icon={faHome} /> <FontAwesomeIcon icon={faUser} size="2x" /> <FontAwesomeIcon icon={faGear} spin /> </div> ) }

Vue 组件用法

安装依赖
npm install @fortawesome/vue-fontawesome @fortawesome/free-solid-svg-icons
Vue 3 基本使用
import { createApp } from 'vue' import App from './App.vue' import { library } from '@fortawesome/fontawesome-svg-core' import { faHome, faUser } from '@fortawesome/free-solid-svg-icons' import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome' library.add(faHome, faUser) createApp(App).component('font-awesome-icon', FontAwesomeIcon).mount('#app') // 模板中使用 // <font-awesome-icon icon="fa-solid fa-home" /> // <font-awesome-icon icon="fa-solid fa-user" size="2x" />

SCSS 自定义变量

覆盖默认变量
// 在引入 FontAwesome SCSS 之前定义 $fa-font-path: '/fonts'; $fa-font-size-base: 16px; $fa-line-height-base: 1.5; $fa-css-prefix: 'fa'; // 引入 FontAwesome SCSS @import '~@fortawesome/fontawesome-free/scss/fontawesome'; @import '~@fortawesome/fontawesome-free/scss/solid'; @import '~@fortawesome/fontawesome-free/scss/regular'; @import '~@fortawesome/fontawesome-free/scss/brands';

按需加载(ESM 方式)

单独导入图标
import { library, dom } from '@fortawesome/fontawesome-svg-core' import { faHome } from '@fortawesome/free-solid-svg-icons/faHome' import { faUser } from '@fortawesome/free-solid-svg-icons/faUser' library.add(faHome, faUser) // 自动替换 DOM 中的 <i> 元素为 SVG dom.watch()

自托管部署

复制文件到项目
# npm 安装后复制所需文件 cp -r node_modules/@fortawesome/fontawesome-free/webfonts project/assets/ cp node_modules/@fortawesome/fontawesome-free/css/all.min.css project/assets/
Nginx 配置缓存
location /assets/ { expires 30d; add_header Cache-Control "public, immutable"; }
分享此页:

相关阅读