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

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

静的サイトを `/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`）はこう！

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

`wrangler.toml` ならこうだよ。

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

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

```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 から配信したい人に嬉しい更新だよ！
