Vue 2 项目中配置 Tailwind CSS 和 Font Awesome 的最佳实践

Vue 2 项目中配置 Tailwind CSS 和 Font Awesome 的最佳实践

一、Tailwind CSS 配置

1. 安装依赖

bash 复制代码
npm install tailwindcss@npm:@tailwindcss/postcss7-compat @tailwindcss/postcss7-compat postcss@^7 autoprefixer@^9

2. 创建配置文件

bash 复制代码
npx tailwindcss init

3. 创建样式文件

在 src/assets/tailwind.css 中添加:

css 复制代码
@tailwind base;
@tailwind components;
@tailwind utilities;

4. 配置 PostCSS

项目根目录创建 postcss.config.js:

js 复制代码
module.exports = {
  plugins: {
    tailwindcss: {},
    autoprefixer: {},
  }
}

5. 引入样式

在 main.js 中:

js 复制代码
import '@/assets/tailwind.css';

6. 测试配置

在 App.vue 中添加测试代码:

vue 复制代码
<template>
  <div class="p-4">
    <h1 class="text-2xl font-bold text-blue-500">TailwindCSS 是否生效?</h1>
    <button class="mt-4 px-4 py-2 bg-green-500 text-white rounded hover:bg-green-600">
      测试按钮
    </button>
  </div>
</template>

第二种引入方式基本和第一种相同,不同的是直接引入:

复制代码
import "tailwindcss/tailwind.css"

参考:https://juejin.cn/post/7091578341194465317

二、引入方式的对比

特性 import "tailwindcss/tailwind.css" import '@/assets/css/tailwind.css'
是否可定制 Tailwind ❌ 不可以 ✅ 可以
是否使用 @tailwind 指令 ❌ 不使用 ✅ 使用
是否支持 PurgeCSS/裁剪 ❌ 默认不裁剪 ✅ 支持
是否适合生产环境 ❌ 主要用于 demo ✅ 适合生产环境

推荐 :正式项目使用 @tailwind 指令方式(第二种)

三、Font Awesome 配置(引入 Font Awesome 图标)

方法一:CDN 引入(简单快速)

在 public/index.html 中添加:

html 复制代码
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.0/css/all.min.css" />

使用示例:

html 复制代码
<i class="fa-solid fa-qrcode text-2xl text-primary"></i>

方法二:npm 安装(推荐生产环境)

  1. 安装依赖:
bash 复制代码
npm install @fortawesome/fontawesome-svg-core @fortawesome/free-solid-svg-icons @fortawesome/free-brands-svg-icons @fortawesome/vue-fontawesome
  1. 在 main.js 中配置:
js 复制代码
import { library } from '@fortawesome/fontawesome-svg-core'
import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
import { faQrcode } from '@fortawesome/free-solid-svg-icons'
import { faWeixin } from '@fortawesome/free-brands-svg-icons'

library.add(faQrcode, faWeixin)
Vue.component('font-awesome-icon', FontAwesomeIcon)
  1. 使用示例:
html 复制代码
<font-awesome-icon :icon="['fas', 'qrcode']" class="text-2xl text-primary" />
<font-awesome-icon :icon="['fab', 'weixin']" class="text-xl" />

四、总结对比

使用方式 优点 缺点
CDN 引入 简单、快速 无法按需加载,文件较大
npm 引入 + 组件方式 可按需加载图标,灵活 需安装和注册,稍复杂

推荐:生产环境使用 npm 安装方式

相关推荐
福兮说6 小时前
设计稿是 #4A7C6F,页面量出来是 #4B7C6F:HEX、HSL、透明度、canvas 来回转的七个坑
前端·javascript·css·canvas
郑州光合科技余经理7 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程
专业程序开发源7 小时前
springboot简历管理系统81389-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
专业程序开发源7 小时前
springboot社区养老系统44071-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·php·课程设计
小呆呆6668 小时前
副业搞起来,小说,漫画,漫剧的成本优化思路
前端·后端·面试
Dovis(誓平步青云)8 小时前
浇水提醒刚弹出又消失,植物状态别只存一个百分比
开发语言·前端·javascript·pdf·ecmascript·电脑
码艺-Alimjan8 小时前
Vben Admin 新增维吾尔语 Vben-Modal的关键坑之一
前端·javascript·vue.js
可乐鸡翅yeah_9 小时前
hls.js 手动自定义 http 请求 loader,修改请求头实战
开发语言·前端·javascript·网络协议·http·ecmascript·m3u8在线
IT_陈寒9 小时前
Vite静态资源导入这个坑我帮你们踩过了
前端·人工智能·后端
广州华水科技9 小时前
大坝安全监测解决方案:单北斗GNSS形变监测系统应用与维护
前端