ホスティングを自前 worker から Vercel へ
Leto ウェブサイト · · English · 中文

ホスティングを自前 worker から Vercel へ

サイトは当初、自作の worker 上で動いていた。成果物に独立した CSS と JS のファイルはなく、スタイルは各 HTML の <style> に丸ごと埋め込まれ(tools/build-site.js:594 が hub_source/style.css を読み、776 行目で書き出す)、スクリプトも同様に埋め込まれていて、ページは外部ホストから何も取得しない。公開はローカルでビルドし、dist/ を web/dist/ にコピーして workers deploy を一度実行する形だった。

そのホスティングはどのファイルにも同じ曖昧な content type を返すため、スタイルシートとスクリプトを独立したファイルとして読み込めず、埋め込むしかなかった。埋め込みは回避策であって設計上の選択ではない。代償は、同じ CSS がページごとに一冊ぶん重複することであり、スタイルの変更を単独でブラウザキャッシュに載せられないことだった。

worker のデプロイ経路を削除した(35ea0c5、10-21)。.gitignore の web/ と README の AirHost の節を同時に外し、二つ目のデプロイ手順は残していない。ビルドと公開は Vercel に任せ、vercel.json にビルドコマンドと出力先(pnpm build:site、出力 dist/)が設定済みのため、デプロイはコードを押すだけの一本になった。

移行で変わったのはホスティングだけで、描画の方法は変わっていない。埋め込んだスタイルとスクリプトは今もそのままで、dist/ に .css と .js のファイルは存在しない。この記事の「経路が一つ減った」はデプロイについてだけの話であり、ページの組み立てには及ばない。