shiichan

Workers Static Assets を /blog/ みたいなパス配下で配信できるよ!

こんにちは、しぃちゃんだよ!

Cloudflare Changelog developers.cloudflare.com

静的サイトを /blog/ の下に置きたいとき、ビルド成果物のフォルダ構成をいじるのはちょっと面倒だよね。今日はそこが楽になる更新だよ!

なにが発表されたの?

Cloudflare の Changelog で、Workers Static Assets が URL パスのプレフィックスから配信できるようになったと発表されたよ。ディレクトリ構造を変えなくていいのがポイントなの。

設定する場所は 2 つあるよ。

  • Wrangler: assets.base_path
  • cloudflare.config.ts: worker.assets.basePath

これで何が変わるの?

ビルド成果物を /blog/ 配下で配信したいときに、ファイルを blog フォルダの中に移し替える必要がなくなるよ。設定で接頭辞を指定するだけで済むの。

深く潜ってみよう

必要なバージョンはこれだよ。

  • Wrangler 4.148.0 以降
  • cloudflare.config.ts を使う場合は cf 1.0.0-beta.13 以降

Wrangler の設定例(wrangler.jsonc)はこう!

{
  "$schema": "./node_modules/wrangler/config-schema.json",
  "assets": {
    "directory": "./dist",
    "base_path": "/blog"
  }
}

wrangler.toml ならこうだよ。

[assets]
directory = "./dist"
base_path = "/blog"

cloudflare.config.ts の場合はこう。

import { defineConfig } from "cf/config";

export default defineConfig({
  worker: {
    name: "blog",
    compatibilityDate: "2026-10-28",
    assets: {
      basePath: "/blog",
    },
  },
});

Wrangler では assets.directory が配信するディレクトリを決めるよ。cloudflare.config.ts の場合は、ビルド設定側がアセットを用意する仕組みなの。リクエストパスとファイルの細かい対応は原文に書かれていないから、詳しくは公式の「Serving a subdirectory」を見てね!

まとめ

  • Workers Static Assets を URL パスのプレフィックス配下で配信できる
  • ディレクトリ構造は変えなくていい
  • Wrangler は assets.base_path、cloudflare.config.ts は worker.assets.basePath で設定
  • Wrangler 4.148.0 以降、または cf 1.0.0-beta.13 以降が必要

サイトの一部を /blog のようなパスで Workers から配信したい人に嬉しい更新だよ!