はじめに
目的
この文書は、Tailwind CSS を CDN(特に公式の Play CDN)で手軽に使い始める方法を説明します。HTML に 1 行追加するだけで見た目を整えられる例を含め、基本設定、特定バージョンを固定する方法、本番運用時の注意点まで順を追って解説します。
対象読者
フロントエンドの入門者や、素早くプロトタイプを作りたい方、小規模サイトで手軽に導入したい方を想定しています。ビルドツールをまだ使っていない方にも分かりやすく説明します。
前提と簡単な注意
CDN 利用は導入が速く、共有キャッシュの恩恵で読み込みが早くなることが多いです。とはいえ、長期的な保守や詳細なカスタマイズが必要な場合はローカルビルドを検討してください。
本書の構成
第2章で基本の CDN 設定、第3章でバージョン固定の例、第4章で本番運用時の注意点を解説します。順に読めば、すぐに試せる手順が身につきます。
基本の CDN 設定
概要
HTML の 内に を追加するだけで、Tailwind のユーティリティクラスがすぐに使えます。Play CDN は小規模サイトやプロトタイプ、学習用途に向いています。
設定手順
- 内に CDN スクリプトを追加します。ページ読み込み時にスタイルが有効になります。
- カスタム設定はスクリプトで上書きできます。例えば、tailwind.config をページ内で定義してから CDN を読み込むと、設定が反映されます。
サンプル
<head>
<script>
// カスタム設定(例)
window.tailwind = { config: { theme: { extend: { colors: { brand: '#1e40af' } } } } }
</script>
<script src="https://cdn.tailwindcss.com"></script>
</head>
利点
- 初期導入が非常に速いです。ソース編集やビルド設定が不要です。
- 学習用途や短期間のプロトタイプに適しています。
注意点
- 本番環境ではビルドして配信する方が安全で高速です。CDN は便利ですが、制御や最適化の面で制約があります。
バージョン固定の例
例
特定バージョンを固定するには、URLにバージョン番号を明記します。
またはCSSなら:
これで配布元が同じでも、指定したバージョンのみを読み込みます。
なぜ固定するか
ライブラリの自動更新でデザインや挙動が変わると、意図しない表示崩れや不具合が発生します。バージョン固定で安定した見た目と動作を確保します。特に本番サイトでは重要です。
固定の方法(実践)
- 完全なバージョン番号(例: 3.4.16)を指定します。メジャーやマイナーだけだと想定外の変更が入ることがあります。
- CDNが提供する「整合性チェック(SRI)」とcrossorigin属性が使える場合は併用します。SRIはファイルが改変されていないかを確認します。
例:
運用のポイント
- 新しいバージョンに更新する際は、ステージング環境で動作確認します。
- バージョン番号を上げることでブラウザが新しいファイルを取得するため、キャッシュの問題を避けやすくなります。
- セキュリティ修正や重要なバグは定期的に確認し、必要なら速やかにバージョンを上げます。
ただし、頻繁に全てを固定すると更新が滞るため、更新ルールをチームで決めて運用してください。
注意点(本番運用時)
CDN版は全ユーティリティを含んだ大きなCSSになります。本番サイトでは軽量化を優先してください。読み込みが遅いとユーザー体験が悪化し、検索順位やコンバージョンに影響します。
なぜ注意が必要か
- CDNは便利ですが未使用のクラスが多く含まれます。結果としてCSSサイズが大きくなります。
- ページ表示の初期遅延やモバイル回線での体感遅延が発生します。
本番での推奨対処
- ローカルでインストールし、ビルドツールで未使用クラスを削除してください(例:PurgeCSSやフレームワーク内のpurge機能)。カスタムビルドは配信サイズを大幅に減らします。
- 重要なスタイル(critical CSS)はインライン化し、残りは遅延読み込みにします。
- ファイル名にハッシュを付け、キャッシュ戦略を設定してください。更新時はキャッシュを確実に切り替えられます。
- CDNを使う場合はSRIやCORSの設定を確認し、信頼できる配信元を選んでください。
デプロイ前チェックリスト
- ビルド後のCSSサイズを確認する。
- 動的に生成されるクラス名がPurgeで消えないようにセーフリストを用意する。
- スローネットワークで表示を確認する。
CDNはお試しや小規模ページに便利です。本番・大規模サイトではローカルビルドで不要なスタイルを削除した上で配信することをおすすめします。












