Platforms

Bun

Bun サンプルを開発モードで動かし、ビルドして本番サーバーの起動を確認します。

サンプルを起動する

最新の Node.js LTS と Vite+ をインストールします。 本番サーバー用に最新の Bun もインストールします。 Vite の開発サーバーは Node.js を使うため、両方のランタイムを用意してください。

vp create effront -- my-app --platform bun
cd my-app
vp install
vp dev

Vite が表示するローカル URL を開きます。一画面に Hello, world と表示されます。

アプリケーションとサーバーのファイルを確認する

サンプルにはホストの設定が揃っています。

ファイル役割
src/entry.effront.tsxHTML レイアウト、一つのページ、/ ルートを定義します。
src/entry.rsc.tsアプリケーションの HTTP handler をエクスポートします。
src/entry.server.ts@effront/server/bun と BunRuntime.runMain で Bun のリスナーを起動します。
vite.config.tseffront() と effrontServer() を登録します。
package.json依存パッケージと start コマンドを定義します。

src/entry.effront.tsx の <h1>Hello, world</h1> を <h1>Hello, Effront!</h1> に変えて保存します。サーバーを再起動せずに表示が更新されます。

本番ビルドをローカルで確認する

開発サーバーを停止し、生成したプロジェクトで次を実行します。

vp build

ビルドすると、サーバーの起動ファイルは dist/rsc/server.js、生成されたブラウザー用アセットは dist/client/assets に出力されます。 src/entry.server.ts は生成アセットを /assets/ 以下で配信します。

Bun サーバーを起動する

ビルド後、examples/bun で次を実行します。

vp run start

このスクリプトは bun dist/rsc/server.js を実行します。 PORT と HOST が未設定なら、http://127.0.0.1:3000 を開きます。 待ち受けアドレスを変更する場合は、起動前に PORT と HOST を設定してください。 最小構成は本番で @effect/platform-bun を、開発時に @effect/platform-node を使います。

リスナーとアセットのオプションは サーバー API リファレンス を参照してください。 Node.js を使う場合は、別の Node.js サンプルを参照してください。