Nuxt Nationカンファレンス開催!11月12日〜13日
デプロイ

Cloudflare

NuxtアプリケーションをCloudflareインフラストラクチャにデプロイします。

Cloudflare Pages

ゼロコンフィグレーション ✨
Cloudflare Pagesとの統合は、ゼロコンフィグレーションで可能です。詳細はこちら
フルスタックNuxtアプリケーションをCloudflareで構築するための@nuxthub/coreモジュールをご覧ください。hub.nuxt.comで詳細情報を確認できます。

Git連携

GitHub/GitLabとCloudflare Pagesを連携して使用する場合、設定は不要です。リポジトリにプッシュするだけで、プロジェクトが自動的にビルドされ、デプロイされます。

Nuxtは環境を検出し、適切なサーバー/Nitroプリセットを設定します。

エッジでのサーバーサイドレンダリングを利用するには、ビルドコマンドをnuxt buildに設定します。

静的サイト生成を行うには、ビルドコマンドをnuxt generateに設定します。

ルートマッチング

CloudFlare Pagesでは、リクエストされた現在のルートと一致するパスを持つHTMLファイルが見つかった場合、そのファイルが提供されます。また、HTMLページを拡張子なしの対応物にリダイレクトします。例えば、/contact.html/contactに、/about/index.html/about/にリダイレクトされます。

Cloudflareのルートマッチングルールに合わせるには、nitroオプションautoSubfolderIndexfalseに設定します。

nuxt.config.ts
export default defineNuxtConfig({
  nitro: {
    prerender: {
      autoSubfolderIndex: false
    }
  }
})

直接アップロード

あるいは、wranglerを使用してプロジェクトをCloudflareにアップロードすることもできます。

この場合、プリセットを手動で設定する必要があります。

  1. Cloudflare Pages向けにプロジェクトをビルドする
    ターミナル
    npx nuxi build --preset=cloudflare_pages
    
  2. デプロイします。初めての場合はプロジェクトの作成を求められます。
    ターミナル
    wrangler pages deploy dist/
    

自動圧縮の無効化

Vueのハイドレーションを回避するために、CloudFlare -> Speed -> Optimization -> Auto MinifyでHTML、CSS、JavaScriptの圧縮を無効にしてください。

Disable Cloudflare auto minify

詳細情報

Cloudflareデプロイプリセットの詳細については、Nitroドキュメントを参照してください。
詳細については、CloudFlare Pagesドキュメントを参照してください。

テンプレート

Atidone

ユーザー認証、SSR、Cloudflare D1を使用したアプリケーション。

Atinotes

Cloudflare KVに基づいたユニバーサルレンダリングによる編集可能なウェブサイト。

Atidraw

Cloudflare R2とAIを使用して、図面を描画して世界と共有できるWebアプリケーション。

Nuxtイメージギャラリー

Cloudflare R2を使用して、画像をアップロード、編集、世界と共有できるイメージギャラリー。

詳細情報

Cloudflareデプロイプリセットの詳細については、Nitroドキュメントを参照してください。