静的サイトのデプロイ
以下のガイドは、いくつかの共通の前提に基づいています:
- デフォルトのビルド出力場所(
dist)を使用します。この場所はbuild.outDirで変更することができますので、その場合はこれらのガイドを読み替えてください。 - npm を使用します。Yarn や他のパッケージマネージャーを使用している場合は、同等のコマンドを使用してスクリプトを実行できます。
- Vite はプロジェクト内のローカルな dev dependency としてインストールされており、以下の npm スクリプトを設定しています。
{
"scripts": {
"build": "vite build",
"preview": "vite preview"
}
}vite preview は、ローカルでビルドをプレビューするためのもので、本番用のサーバーとしては使えないことに注意してください。
注意
このガイドは、Vite で静的サイトをデプロイするための手順を提供します。Vite は、サーバーサイドレンダリング(SSR)もサポートしています。SSR とは、Node.js で同じアプリケーションを実行し、それを HTML にプリレンダリングし、最終的にクライアント上でハイドレートすることをサポートするフロントエンドフレームワークを指します。この機能については、SSR ガイドをご覧ください。一方、従来のサーバーサイドフレームワークとの統合を探している場合は、代わりにバックエンドとの統合ガイドをチェックしてください。
アプリのビルド
アプリをビルドするために、npm run build コマンドを実行します。
$ npm run buildデフォルトでは、ビルド結果は dist に置かれます。この dist フォルダーを、お好みのプラットフォームにデプロイします。
アプリをローカルでテストする
アプリをビルドしたら、npm run preview コマンドを実行し、ローカルでテストします。
$ npm run previewvite preview コマンドは、ローカルで静的なウェブサーバーを起動し、dist のファイルを http://localhost:4173 で配信します。これは、プロダクションビルドが問題ないかどうかを自分のローカル環境で確認する簡単な方法です。
サーバーのポートを設定するには、引数に --port フラグを指定します。
{
"scripts": {
"preview": "vite preview --port 8080"
}
}これで、preview コマンドは http://localhost:8080 でサーバーを起動します。
GitHub Pages
vite.config.jsでbaseを正しく設定してください。https://<USERNAME>.github.io/や、GitHub Pages 経由のカスタムドメイン(例www.example.com)にデプロイする場合、baseを'/'に設定します。デフォルトは'/'なので、設定からbaseを削除することもできます。https://<USERNAME>.github.io/<REPO>/にデプロイする場合(例: リポジトリーはhttps://github.com/<USERNAME>/<REPO>)、baseを'/<REPO>/'と設定してください。リポジトリー設定ページにある GitHub Pages の設定から、デプロイ元を "GitHub Actions" にすることで、プロジェクトをビルドしてデプロイするワークフローを作成できます。npm を使用して依存関係をインストールし、ビルドするサンプルワークフローが提供されています:
yaml# Simple workflow for deploying static content to GitHub Pages name: Deploy static content to Pages on: # Runs on pushes targeting the default branch push: branches: ['main'] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write # Allow one concurrent deployment concurrency: group: 'pages' cancel-in-progress: true jobs: # Single deploy job since we're just deploying deploy: environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v5 - name: Set up Node uses: actions/setup-node@v6 with: node-version: lts/* cache: 'npm' - name: Install dependencies run: npm ci - name: Build run: npm run build - name: Setup Pages uses: actions/configure-pages@v5 - name: Upload artifact uses: actions/upload-pages-artifact@v4 with: # Upload dist folder path: './dist' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4
GitLab Pages と GitLab CI
vite.config.jsでbaseを正しく設定してください。https://<USERNAME or GROUP>.gitlab.io/にデプロイする場合、baseはデフォルトで'/'となるのでこれを省略できます。https://<USERNAME or GROUP>.gitlab.io/<REPO>/にデプロイする場合、例えばリポジトリーがhttps://gitlab.com/<USERNAME>/<REPO>にあるなら、baseを'/<REPO>/'と設定してください。プロジェクトルートに、
.gitlab-ci.ymlという名前でファイルを作成し、以下のように記述してください。これで、コンテンツを変更するたびにサイトのビルドとデプロイが行われます:yamlimage: node:lts pages: stage: deploy cache: key: files: - package-lock.json prefix: npm paths: - node_modules/ script: - npm install - npm run build - cp -a dist/. public/ artifacts: paths: - public rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
Netlify
Netlify CLI
- Netlify CLI をインストールします。
ntl initで新しいサイトを作成します。ntl deployでデプロイします。
# Netlify CLI をインストール
$ npm install -g netlify-cli
# Netlify に新しいサイトを作成
$ ntl init
# ユニークなプレビュー URL にデプロイ
$ ntl deployNetlify CLI は検査のためにプレビュー URL を共有します。本番環境への準備ができたら prod フラグを使用してください:
# サイトを本番環境へデプロイ
$ ntl deploy --prodNetlify with Git
- コードを Git リポジトリー(GitHub, GitLab, Bitbucket, Azure DevOps)にプッシュします。
- Netlify にプロジェクトをインポートします。
- ブランチ、出力ディレクトリーを選び、必要に応じて環境変数を設定します。
- Deploy をクリックします。
- アプリケーションがデプロイされます!
プロジェクトがインポートされてデプロイされた後は、プルリクエストを伴ったプロダクションブランチ以外のブランチへのプッシュはすべてプレビューデプロイメントを生成し、プロダクションブランチ(一般には main)に加えられたすべての変更はプロダクションデプロイメントを生成することになります。
Vercel
Vercel CLI
- Vercel CLI をインストールし、
vercelを実行してデプロイします。 - Vercel はあなたが Vite を使用していることを検出し、あなたのデプロイメントのための正しい設定を有効にします。
- アプリケーションがデプロイされます!(例: vite-vue-template.vercel.app)
$ npm i -g vercel
$ vercel init vite
Vercel CLI
> Success! Initialized "vite" example in ~/your-folder.
- To deploy, `cd vite` and run `vercel`.Vercel for Git
- コードを Git リポジトリー(GitHub, GitLab, Bitbucket)にプッシュします。
- Vercel に Vite プロジェクトをインポートします。
- Vercel はあなたが Vite を使用していることを検出し、あなたのデプロイメントのための正しい設定を有効にします。
- アプリケーションがデプロイされます!(例: vite-vue-template.vercel.app)
プロジェクトがインポートされてデプロイされた後は、ブランチへのプッシュはすべてプレビューデプロイメントを生成し、プロダクションブランチ(一般には main)に加えられたすべての変更はプロダクションデプロイメントを生成することになります。
詳細は Vercel の Git 統合をご覧ください。
Cloudflare Pages
Cloudflare Pages via Wrangler
- Wrangler CLI をインストールします。
wrangler loginを使って、Cloudflare アカウントで Wrangler を認証します。- ビルドコマンドを実行します。
npx wrangler pages deploy distを使ってデプロイします。
# Wrangler CLI をインストール
$ npm install -g wrangler
# CLI から Cloudflare アカウントへログイン
$ wrangler login
# ビルドコマンドの実行
$ npm run build
# 新しいデプロイの作成
$ npx wrangler pages deploy dist生成物のアップロード後、Wrangler はサイトの確認のためのプレビュー URL を表示します。Cloudflare Pages ダッシュボートにログインすると、新しいプロジェクトが表示されます。
Cloudflare Pages with Git
- git リポジトリー(GitHub、GitLab)にコードをプッシュします。
- Cloudflare ダッシュボードにログインし、Account Home > Pages でアカウントを選択します。
- Create a new Project と Connect Git オプションを選択します。
- デプロイしたい git プロジェクトを選択し、Begin setup をクリックします。
- 選択した Vite のフレームワークに基づいて、ビルド設定の対応するフレームワークプリセットを選択します。
- セーブしてデプロイします!
- アプリケーションがデプロイされます!(例:
https://<PROJECTNAME>.pages.dev/)
プロジェクトのインポートとデプロイ後、以降のブランチへのプッシュは branch build controls で停止しない限りプレビューデプロイを生成します。本番ブランチ(一般的には「main」)への全ての変更は本番へデプロイされます。
Pages ではカスタムドメインの追加やカスタムビルドの設定が行えます。詳しくは Cloudflare Pages Git Integration をご覧ください。
Google Firebase
firebase-tools をインストールしていることを確認してください。
プロジェクトルートに
firebase.jsonと.firebasercを作成し、以下のように記述してください:json{ "hosting": { "public": "dist", "ignore": [], "rewrites": [ { "source": "**", "destination": "/index.html" } ] } }js{ "projects": { "default": "<YOUR_FIREBASE_ID>" } }npm run buildを実行した後、firebase deployコマンドでデプロイしてください。
Surge
まだインストールしていなければ、surge をインストールしてください。
npm run buildを実行してください。surge distとタイプし、surge にデプロイしてください。
surge dist yourdomain.com とすることで、カスタムドメインにデプロイすることもできます。
Azure Static Web Apps
Microsoft Azure Static Web Apps サービスを使って、Vite アプリを素早くデプロイできます。必要なもの:
- Azure アカウントとサブスクリプションキー。無料で Azure アカウントを作成できます。
- GitHub にプッシュされたアプリのコード。
- Visual Studio Code の SWA 拡張機能。
VS Code に拡張機能をインストールし、アプリのルートに移動してください。Static Web Apps 拡張機能を開き、Azure にサインインし、'+' マークをクリックして新しい Static Web App を作成してください。使用するサブスクリプションキーを指定するプロンプトが表示されます。
拡張機能が起動するウィザードに従って、アプリの名前を決め、フレームワークのプリセットを選択し、アプリのルート(通常は /)とビルドファイルの場所 /dist を指定します。ウィザードが実行されると、リポジトリーの .github フォルダーに GitHub アクションが作成されます。
このアクションが実行されると、アプリがデプロイされます(進行状況はリポジトリーの Actions タブで確認できます)。正常に完了すると、GitHub アクション実行時に表示される 'Browse Website' ボタンをクリックすることで、拡張機能の進行状況ウィンドウで指定されたアドレスでアプリを見ることができます。
Render
Renderに静的サイトとして Vite アプリをデプロイできます。
Render アカウントを作成できます。
ダッシュボートで、New ボタンをクリックし Static Site を選択します。
GitHub/GitLab アカウントを連携するかパブリックリポジトリーを利用します。
プロジェクト名とブランチを指定します。
- Build Command:
npm install && npm run build - Publish Directory:
dist
- Build Command:
Create Static Site をクリックします。
アプリが
https://<PROJECTNAME>.onrender.com/にデプロイされるはずです。
デフォルトでは、指定したブランチへコミットがプッシュされると自動的に新しいデプロイを開始します。Auto-Deploy はプロジェクト設定で変更できます。
プロジェクトに custom domain も追加できます。
Flightcontrol
Flightcontrol を使用して静的サイトをデプロイする場合はこの案内に従ってください。
Kinsta 静的サイトホスティング
Kinsta を使用して静的サイトをデプロイする場合はこの案内に従ってください。
xmit 静的サイトホスティング
xmit を使用して静的サイトをデプロイする場合はこのガイドに従ってください。
Zephyr Cloud
Zephyr Cloud は、ビルドプロセスに直接統合され、モジュールフェデレーションおよびその他の種類のアプリケーションにグローバルエッジ配信を提供するデプロイメントプラットフォームです。
Zephyr は他のクラウドプロバイダーとは異なるアプローチを取っています。Vite のビルドプロセスに直接統合されるため、アプリケーションをビルドまたは開発サーバーを実行するたびに、Zephyr Cloud で自動的にデプロイされます。
開始するには、Vite デプロイガイドの手順に従ってください。