Nuxt.js

Nuxt3でVercelに静的サイトをデプロイする手順

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

Nuxt 3で静的サイト生成する際のVercelデプロイ手順

Nuxt 3を使用して静的サイトを構築し、Vercelにデプロイする際は、nuxt.config.tsでのstatic generate設定環境変数管理といった工程が不可欠です。本記事では、導入からCI/CDまでの一連の手順を具体的に解説します。


Nuxt 3の静的サイト生成設定

Nuxt 3で静的サイトを構築するには、nuxt.config.tsでのstatic generate設定が必須です。この工程を正しく行うことで、Vercelへのデプロイが円滑になります。

static generateの基本構成

Nuxt 3のプロジェクトでは、nuxt.config.tsに以下のようにstatic: trueを指定します。これにより、アプリケーション全体が静的ファイルとして生成されます。

注意点: fallbackは404ページの動作を制御し、routesで静的に生成するパスを指定します。


必要モジュールのインストール

静的サイト構築に必要なモジュールとしては、以下が挙げられます。

  • @nuxtjs/robots: サイトマップやロボット.txtの自動生成
  • @nuxt/image: 静的画像の最適化とCDN利用支援

インストールはnpmまたはyarnで行います。


Vercelプロジェクトの初期設定

Vercelへのデプロイには、プロジェクト作成時の設定項目が重要です。特にビルドコマンドと出力先指定を間違えるとエラーになるため、注意が必要です。

プロジェクト作成時の必須項目

Vercelのダッシュボードでプロジェクトを作成する際は、以下の情報を入力します。

  • リポジトリ: GitHubやGitLabなどからコードを連携
  • デプロイ環境: リアルタイムデプロイまたはCI/CDによる自動デプロイを選択

: GitHubリポジトリと連携し、リアルタイムデプロイを有効にすると、プッシュ時に即座に反映されます。


ビルドコマンドと出力先指定

Vercelのプロジェクト設定で、ビルドコマンド出力先ディレクトリを設定します。Nuxt 3では以下の設定が推奨です。

項目 補足
Build command npx nuxt build 静的ファイルのビルドを実行
Output directory .output 生成された静的ファイルが配置される場所

環境変数の統合方法

ローカル開発と本番環境で異なる環境変数を管理するには、.envファイルとVercelのSecrets設定が必要です。

.envファイルの構成ルール

Nuxt 3では.envファイルに環境変数を定義します。変数名はVITE_で始めることが推奨されます(クライアント側での利用可)。


Vercelでの環境変数設定

Vercelのプロジェクト設定画面からSecretsを登録します。サーバーサイドで使用する変数はVERCEL_で始めてください。

  1. Vercelダッシュボード → プロジェクト → SettingsEnvironment Variables
  2. VITE_API_URLなど必要な変数を追加
  3. 環境別に設定を切り替え(Production/Developmentなど)

デプロイ後のキャッシュ制御

Vercelでは、静的ファイルのEdge Cacheを設定することで、リソースの読み込み速度を向上させられます。

Edge Cacheの設定手順 (2023年10月版)

UIパス: Vercelダッシュボード → プロジェクト → Project SettingsEdge Functions にアクセスし、以下の操作を行います。

  • キャッシュポリシーの選択:
  • Cache-Controlヘッダーをpublic, max-age=86400, immutableなど設定可能
  • キャッシュ有効期限:
  • デフォルトでは24時間(1日)が推奨。必要に応じて変更

キャッシュ無効化の実装 (修正済み)

特定のページにキャッシュを適用しない場合、nuxt.config.tsで以下のように設定します。

注意: モジュール定義が重複していたため、@nuxtjs/robotsは1回のみ記述しています。


CI/CDによる自動デプロイ構成

リポジトリのプッシュ時に自動でVercelにデプロイするには、GitHub Actionsと連携させる必要があります。

GitHub Actionsとの連携 (v3.0.0推奨)

最新バージョン: vercel-actions/deploy@v3.0.0を推奨(2023年10月時点の公式リポジトリ確認)

.github/workflows/deploy.ymlを作成し、以下の内容を記述します。


Vercel APIトークンの扱い

GitHub ActionsでVercelにデプロイするには、APIトークンをシークレットとして保存します。

  1. Vercelダッシュボード → Account Settings → API Tokens
  2. 新しいトークンを作成し、VERCEL_TOKENと名前をつける
  3. GitHubリポジトリのSettings → Secrets & variables → Actionsにトークンを登録

結論: 静的サイトデプロイの要点再確認

Nuxt 3による静的サイト生成とVercelとの連携は、以下のようなステップで実現されます。

  1. static generate設定: nuxt.config.tsで静的ファイル出力を有効化
  2. モジュール管理: 必要なライブラリを適切にインストール・設定
  3. Vercel初期構成: ビルドコマンド・出力先ディレクトリの明確化
  4. 環境変数統合: .envファイルとVercel Secretsによるセキュアな管理
  5. Edge Cache設定: パフォーマンス向上のためのキャッシュポリシー設計
  6. CI/CD自動化: GitHub Actionsで継続的デプロイを実装

上記手順は、ローカル開発から本番環境に至るまでの一貫性のあるワークフローを構築するために不可欠です。特にキャッシュ無効化やEdge Cacheの設定には注意が必要で、誤った配置はパフォーマンスやセキュリティに悪影響を及ぼします。


スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-Nuxt.js