lobsite! ログイン アカウント作成

Vite ホスティング

Vite のアプリやサイトをホストできます。npm run build が dist/ を書き出し、npx lobsite が HTTPS 付きでデプロイします。クライアント側ルーティングは spa = true かダッシュボードのスイッチで動作します。

dist/ にビルドしてデプロイします。public/ はそのままです。Vite が dist/ にコピーします。
HTML ファイル、フォルダ、または .zip をドロップ ブラウザ内で確認します。公開するまで何もアップロードされません。

Vite は React、Vue、Svelte、Solid、通常の JavaScript プロジェクトを、静的ファイルのフォルダ dist/ にビルドします。Lobsite はそのフォルダをホストします。npm run build を実行してから npx lobsite を実行すると、HTTPS 対応の *.lobsite.app アドレスでアプリが公開されます。クライアント側ルーティングがある場合は、設定 1 つでディープリンクが機能します。

Vite テンプレートを使用してブラウザ ゲームを作成しますか? Phaser ホスティング ガイド は、この展開ワークフローと並行して、ゲーム アセット、キャンバス サイズ設定、プレイテスト ビルドをカバーします。

仕組み

  1. npm run build(つまり vite build)でビルドします。アプリは dist/ に、ハッシュ付きファイルは dist/assets/ に出力されます。
  2. プロジェクトで npx lobsite を実行します。デプロイされるのは dist/ で、Vite がすでにビルドにコピーした public/ ではありません。最初のデプロイにアカウントは不要で、6 時間有効です。
  3. アプリにルーターがある場合はシングルページモードをオンにします。lobsite.toml に spa = true を追加するか、サイト設定の シングルページアプリ を切り替えます。その後、取得リンクから無料アカウントにサイトを残してください。

ルーティングとシングルページモード

React Router、Vue Router、TanStack Router を使う Vite アプリには index.html が 1 つあります。/settings を直接開くと、サーバーに存在しないファイルを要求します。シングルページモードをオンにすると、Lobsite はこれらのパスに index.html で応答し、ルーターがページを描画します。

# lobsite.toml
spa = true

アプリが返るのはページのリクエストのみです。古い /assets/index-3f9a.js のような存在しないファイルは本物の 404 になるため、デプロイ後に前のバージョンを開いたままの訪問者には、スクリプトの代わりの HTML ではなく明確なエラーが返ります。package.json にルーターがあり、シングルページモードがオフの場合は、デプロイ時にヒントが表示されます。詳しくはドキュメントをご覧ください。

vite.config とビルド

  • base はデフォルトの / のままにします。アプリはアドレスの最上位から配信されます。GitHub Pages のプロジェクトサイトでのみ設定し、移行するときに削除してください。
  • VITE_ で始まる環境変数はビルドに書き込まれます。アプリを開く人なら誰でも見られるため、シークレットを入れないでください。.env ファイル自体はデプロイされません。
  • 複数のページ(2 つ以上の HTML ファイルを指定した build.rollupOptions.input)はマルチページサイトです。各ページがファイルなので、シングルページモードは不要です。
  • npm run preview は dist/ をローカルで配信するので、デプロイ前の最も速い確認方法です。

ハッシュ付きファイルのキャッシュ

Vite は index-3f9a.js のように各ファイルの内容のハッシュを名前に含めるため、同じ名前のファイルが変わることはありません。Lobsite もファイルを内容で保存するため、デプロイでは変更されたチャンクのみをアップロードします。ブラウザにこれらのファイルを 1 年間保持させるには、ヘッダールールを追加してください。

[[headers]]
for = "/assets/*"
[headers.values]
Cache-Control = "public, max-age=31536000, immutable"

index.html は常に再確認されるため、訪問者はデプロイ直後に新しいバージョンを受け取ります。

シングルページアプリ

lobsite.toml に spa = true を書くか、ダッシュボードのスイッチをオンにするだけです。ディープリンクでアプリが開き、存在しないファイルは引き続き 404 になります。

変更されたファイルのみアップロード

ファイルはハッシュで保存されます。変更のないサイトを再デプロイしてもアップロードは 0 バイトです。

デプロイごとに URL を発行

公開前にプレビューできます。リダイレクトも含めてワンクリックでロールバックできます。

すべてに HTTPS

すべてのサイトに、最初のデプロイから HTTPS 対応の *.lobsite.app アドレスが付きます。

設定は 1 つのファイルに

リダイレクト、ヘッダー、フォームは lobsite.toml に記述し、デプロイごとに一緒に反映されます。

アカウントなしで試せる

アカウントなしのデプロイは 6 時間公開されます。取得リンクから無料で残せます。

Vite ホストの比較

Lobsite Netlify Vercel GitHub Pages
シングルページアプリのディープリンク spa = true、またはダッシュボードのスイッチ _redirects のルール vercel.json のリライト いいえ: index.html を 404.html にコピー、ステータス 404 で配信
存在しないスクリプトファイル 404 アプリの index.html アプリの index.html 404
サーバーでのビルド いいえ: dist/ をデプロイ はい はい GitHub Actions で
最初のデプロイ前のアカウント 不要: 6 時間公開、その後無料で残せる 必要 必要 必要(リポジトリも)
カスタムドメイン はい、無料 はい はい はい

Netlify と Vercel は Git からビルドし、サーバー関数を実行します。Lobsite は、ビルド済みの Vite アプリをローカル環境、CI、AI エージェントから公開する最も速い方法で、シングルページのルーティングは 1 行かクリック 1 回です。

よくある質問

Vite アプリのホームページ以外のページに「Not found」と表示されるのはなぜですか?

アプリはクライアント側ルーティングを使っており、サーバーにはそれらのパスのファイルがありません。シングルページモードをオンにしてください。lobsite.toml の spa = true、またはサイト設定の シングルページアプリ です。

Lobsite は Vite のビルドを実行しますか?

いいえ。ローカル環境や CI でビルドしてから dist/ をデプロイしてください。npm run preview で確認したものがそのまま公開されます。

Vite の環境変数を使えますか?

はい、VITE_ で始まるものです。実行時にビルドに書き込まれます。変更後は再度ビルドしてください。シークレットは Vite アプリではなくサーバーに置いてください。

Vite のマルチページサイトにシングルページモードは必要ですか?

いいえ。各 HTML ページは独立したファイルで、about.html は /about で開きます。シングルページモードをオフのままにすると、入力ミスのアドレスには 404.html が返ります。

関連項目