アプリを作成する
pnpm dlx sobria create my-app
cd my-app
pnpm installsobria create は、ページ、レイアウト、要素、サーバー関数を 1 つずつ持つアプリの雛形を作成します。空でないディレクトリを指定すると、エラーを表示して停止します。
開発サーバーを起動する
pnpm devVite の開発サーバーが起動します。ファイルを編集すると、ブラウザの表示に反映されます。
ファイルの構成
| ファイル | 内容 |
|---|---|
src/routes/page.tsx | / のページ |
src/routes/layout.tsx | すべてのページを囲むレイアウト |
src/elements/greeter.tsx | ボタンを押すとサーバー関数を呼び出し、結果を表示する要素 |
src/lib/greet.ts | 挨拶の文字列を返すサーバー関数 |
src/server.ts | Node でサーバーを起動するエントリー |
vite.config.ts | sobria の Vite プラグインの設定 |
ビルドして起動する
pnpm build
pnpm startpnpm build は、vite build でアプリを dist/ に出力します。pnpm start は、dist/server/entry.js を Node で起動します。pnpm start で起動したサーバーは、環境変数 PORT が無ければ 3000 番のポートを使用します。
型を検査する
pnpm typechecksobria prepare で、ページのパスのパラメータ([id] など)と要素の型を生成してから、tsc -b で検査します。
sobria が対応する TypeScript は 7.1 です。VS Code に組み込みの TypeScript は、sobria が対応する版ではありません。VS Code では、拡張機能 TypeScriptTeam.native-preview を導入し、設定に "js/ts.experimental.useTsgo": true を追加します。