Vue.jsでTailwind CSS 4.0をセットアップする: ステップバイステップガイド

> 本記事は[こちらのブログ](https://www.alibabacloud.com/blog/setting-up-tailwind-css-4-0-in-vue-js-a-step-by-step-guide_602136?spm=a2c65.11461433.0.0.4ee35355DE9DWe)を参考にしています。
> 翻訳にはアリババクラウドの[ModelStudio](https://www.alibabacloud.com/en/product/modelstudio)([Qwen](https://www.alibabacloud.com/en/solutions/generative-ai/qwen))を使用しております。

# はじめに

現代のWeb開発において、Vue.jsとTailwind CSSは開発者が愛用する2つの強力なツールです。Vue.jsはプログレッシブなJavaScriptフレームワークであり、インタラクティブなUIコンポーネントの構築をシームレスに行うことができます。一方、Tailwind CSSはユーティリティファーストのCSSフレームワークであり、カスタムCSSを書かずに効率的にアプリケーションをスタイル設定することができます。Vue.jsとTailwind CSSを組み合わせることで、高速なUI開発、保守性の向上、高度にカスタマイズ可能なデザインシステムが実現されます。小規模なプロジェクトから大規模なアプリケーションまで、この組み合わせはパフォーマンスと柔軟性を確保します。本ガイドでは、Vue.jsプロジェクトのセットアップ方法とTailwind CSSの統合方法について説明します。最後には、FlyonUI - Free Tailwind CSS component libraryを使用して美しいStatsコンポーネントを作成し、この組み合わせを実際に見ていきます。さあ、始めましょう！

## Vue.jsの簡単な概要

Vue.jsは、ダイナミックなユーザーインターフェースを構築するために設計されたプログレッシブJavaScriptフレームワークです。そのコア機能には、宣言的なレンダリング、コンポーネントベースのアーキテクチャ、双方向データバインディングが含まれており、モダンなWebアプリケーションにとって強力な選択肢となっています。Vueのリアクティビティシステムにより、開発者は最小限の努力でインタラクティブなアプリケーションを作成でき、スムーズで魅力的なユーザーエクスペリエンスを提供します。

## Tailwind CSSとは？

Tailwind CSSは、ユーティリティファーストのCSSフレームワークであり、カスタムCSSを書かずにモダンでレスポンシブ、そして高度にカスタマイズ可能なユーザーインターフェースを構築するための低レベルのユーティリティクラスを提供します。事前に定義されたコンポーネント（Bootstrapのようなもの）を使用する代わりに、Tailwindを使用するとHTML内で小さな再利用可能なクラスを使用してデザインを直接構成できます。

### Tailwind CSS 4の主要な強化点

- 🚀 最適化されたビルドサイズ – Lightning CSSを使用して高速なコンパイルと最終的なバンドルサイズの削減。
- ⚡ 改善されたパフォーマンス – 明らかに高速な処理とCSS生成。
- 🎨 強化されたカラーパレット – より良いコントラストとアクセシビリティを提供。
- 📦 高度なTree Shaking – 使用されていないスタイルをより効率的に削除し、CSS出力を最小限に保つ。
- 🔗 強化されたフレームワーク統合 – Vue.js、React、その他のモダンフレームワークとの互換性向上。

これらの強化により、Tailwind CSS 4はVue.jsでのスタイル設定をさらに簡素化し、UI開発をより効率的に行えるようになります。

## 完璧な組み合わせ：Vue.jsとTailwind CSS

Vue.jsとTailwind CSSはシームレスに連携し、最適な開発体験を提供します。以下は、それらが互いに補完し合う理由です：

1. **ユーティリティファーストのスタイリングによるコンポーネントベースのデザイン**
   Vue.jsのコンポーネント駆動型アプローチは、Tailwindのユーティリティベースのスタイリングと完璧にマッチし、再利用可能で視覚的に一貫性のあるUIコンポーネントを容易に構築できるようになります。

2. **合理化された開発ワークフロー**
   Tailwindを使用すると、開発者は別々のCSSファイルを作る必要がなくなり、Vueテンプレート内で直接スタイルを適用できます。これにより、文脈の切り替えが減少し、生産性が向上します。

3. **ビルトインのレスポンシブ対応**
   Tailwindのレスポンシブユーティリティ（sm、md、lgなど）はVue.jsとシームレスに統合され、モバイルフレンドリーで適応性のあるデザインを作るのが容易になります。

4. **最適化されたパフォーマンス**
   TailwindのJust-In-Time（JIT）コンパイルとVueのtree shakingにより、必要なスタイルとJavaScriptのみが最終的なビルドに含まれるため、高速なロード時間が確保されます。

5. **シンプルなテーマのカスタマイズ**
   VueのリアクティビティシステムとTailwindのテーマカスタマイズにより、ダークモードや個別のデザインシステムを含む動的なテーマの実装が簡単に行えます。

## Viteを使用してVue.jsでTailwind CSS 4をセットアップする

以下のステップに従って、Viteを使用してVue.jsプロジェクトにTailwind CSS 4を統合してください。

### ステップ1: Vue 3プロジェクトがまだセットアップされていない場合、次のコマンドを実行してセットアップします：bash
npm create vue@latest
cd <project-name>
npm install

### ステップ2: Tailwind CSS v4をインストール
次のコマンドを実行して、Tailwind CSS v4およびそのViteプラグインをインストールします：bash
npm install -D tailwindcss @tailwindcss/vite

### ステップ3: ViteをTailwind CSSを使用するように設定
`vite.config.ts`（またはJavaScriptを使用している場合は`vite.config.js`）を編集し、Tailwind CSSをプラグインとして追加します：javascript
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import tailwindcss from '@tailwindcss/vite'

export default defineConfig({
  plugins: [
    vue(),
    tailwindcss(),
  ],
})

### ステップ4: スタイルにTailwindを追加
CSSファイル`src/style.css`を編集し、Tailwind CSSを追加します：css
@import 'tailwindcss';

### ステップ5: `src/main.ts`に移動し、`style.css`がインポートされていることを確認します：javascript
import { createApp } from 'vue'
import App from './App.vue'
import './style.css'

createApp(App).mount('#app')

### ステップ6: 開発サーバーを起動
Vite開発サーバーを実行します：bash
npm run dev

以上で完了です！これで、Viteを使用してVue 3プロジェクトにTailwind CSS v4をセットアップできました。

### 例:
CSSクラスを別ファイルで定義する代わりに、次のようにTailwindクラスを直接適用できます：html
<template>
  <button class="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
    Click Me
  </button>
</template>
これにより、Vueのリアクティビティに合わせてスタイリングが高速かつ保守しやすくなります。

## FlyonUIを使用してVue.jsでモダンなStatsコンポーネントを構築する

ここでは、オープンソースの[Tailwind Components](https://flyonui.com/)ライブラリであるFlyonUIを使用します。これは、迅速な開発のためにカスタマイズ可能でアクセス可能な、すぐに使えるコンポーネントの幅広い選択肢を提供します。Vue.jsとFlyonUIを統合してStatsコンポーネントを構築しましょう。詳細なインストールガイドは[FlyonUI Vue.js Integration](https://flyonui.com/framework-integrations/vuejs/)をご覧ください。

### ステップ1: flyonuiをインストール
npmを使用してflyonuiをインストールします。bash
npm install -D flyonui@latest

### ステップ2: FlyonUIを使用するように`style.css`を更新css
@import 'tailwindcss';
@plugin 'flyonui';
@import './node_modules/flyonui/variants.css'; /* FlyonUI JSコンポーネントを使用したい場合のみ必須 */

/* node_modulesがgitignoreされている場合は以下を使用 */
@source './node_modules/flyonui/dist/index.js'; /* FlyonUI JSコンポーネントを使用したい場合のみ必須 */

### ステップ3: FlyonUI JavaScriptをインポート
`src/main.ts|js`を変更します：javascript
// FlyonUI
import 'flyonui
<div class=flex gap-4>
  <div class=stats max-sm:w-full>
    <div class=stat>
      <div class=stat-figure text-base-content size-8>
        <span class=icon-[tabler--world] size-8></span>
      </div>
      <div class=stat-title>ウェブサイト トラフィック</div>
      <div class=stat-value>32K</div>
      <div class=stat-desc>先週より5% ↗︎</div>
    </div>
  </div>
  <div class=stats max-sm:w-full>
    <div class=stat>
      <div class=stat-figure text-base-content size-8>
        <span class=icon-[tabler--users-group] size-8></span>
      </div>
      <div class=stat-title>新規登録数</div>
      <div class=stat-value>1.2K</div>
      <div class=stat-desc>今月12%増加</div>
    </div>
  </div>
  <div class=stats max-sm:w-full>
    <div class=stat>
      <div class=stat-figure size-12>
        <div class=avatar>
          <div class=size-12 rounded-full>
            <img
              src=https://cdn.flyonui.com/fy-assets/avatar/avatar-2.png
              alt=ユーザー アバター
            />
          </div>
        </div>
      </div>
      <div class=stat-value text-success>95%</div>
      <div class=stat-title>顧客維持率</div>
      <div class=stat-desc>前四半期と比べて安定</div>
    </div>
  </div>
</div>

## 結論
Tailwind CSSとVue.jsを統合することで、合理化されたスタイリングアプローチ、レスポンシブデザインユーティリティ、最適化されたパフォーマンスが提供され、フロントエンド開発が向上します。FlyonUIを使用することにより、開発者は事前に構築されたアクセス可能なコンポーネントを利用してさらにUI開発を加速できます。詳細やセットアップ方法は次のリポジトリで確認できます: [vuejs-taiwindcss-setup](https://github.com/themeselection/flyonui-vuejs-integration)。また、Vue.jsについて言えば、プロジェクト用に[Vue テンプレート](https://themeselection.com/item/category/vue-templates/)の使用も検討できます。Vueテンプレートにはすぐに使えるコンポーネントやアプリケーションが含まれており、開発プロセスをより簡単でスムーズにすることができます。

**免責事項:** ここで述べられている見解は参考情報であり、必ずしもアリババクラウドの公式見解を表すものではありません。