ほかの Worker と同様に、アセット付き Worker をドメインのパス上で動かすよう設定できます。 Worker に定義するアセットは、目的のパスと同じ階層のディレクトリ構造に置く必要があります。
たとえば example.com/blog/* からアセットを配信する場合は、アセットディレクトリ内に blog ディレクトリを作成します。
- dist
- blog
- index.html
- posts
- post1.html
- post2.html
- blog
Wrangler 設定ファイル は次のようにします。
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "assets-on-a-path-example",
"main": "src/index.js",
"route": "example.com/blog/*",
"assets": {
"directory": "dist"
}
}"$schema" = "./node_modules/wrangler/config-schema.json"
name = "assets-on-a-path-example"
main = "src/index.js"
route = "example.com/blog/*"
[assets]
directory = "dist"この例では、example.com/blog/ へのリクエストは index.html を配信し、example.com/blog/posts/post1 へのリクエストは post1.html を配信します。
設定したパスの外にあるファイルは配信されません。ただし シングルページアプリケーション や カスタム 404 ページ 向けの assets.not_found_handling の一部である場合は除きます。たとえば、アセットディレクトリのルートに home.html がある場合、example.com/blog/home をリクエストしても配信されません。必要であれば、これらのファイルは バインディング 経由で手動取得できます。