PeculiarJoe
PeculiarJoe

Reputation: 41

Publishing of multiple Angular apps to Cloudflare workers with wrangler

I'm new to CF workers and the wrangler publish system, and I can find very little information around my requirements within online sources, perhaps my search query is wrong, so hoping I can find some help here.

I have an NX workspace, containing 2x apps. One app is deployed into the top-level worker, and the second one should be deployed to a sub-directory in the same worker, effectively create a parent-child structure, like the following:

example.com/ -> top-level app
example.com/site2/ -> child-level app

My issue is, I do not understand where and how to define, in wrangler.toml, the /sub-directory/. Should I have 2x separate worker-sites for these? I was under the impression that, I could just update the worker (index.js) file in my single worker-site to handle /site2/ otherwise treat the request as standard?

All I would really like to know is, how can I specify that my publish should to the /site2/ sub-directory, if at all possible?

Thanks in advance.

Upvotes: 0

Views: 529

Answers (1)

David
David

Reputation: 1083

There are a couple ways to handle this. If your code / logic in the workers for the top-level vs child-level is completely different, I'd recommend using two separate workers. Then you can configure which "routes" each worker will run on -

https://developers.cloudflare.com/workers/cli-wrangler/configuration

Worker 1 could be -

routes = ["example.com/"]

Worker 2 could be -

routes = ["example.com/site2/"]

Check this out for more details on how routing / matching behaves -

https://developers.cloudflare.com/workers/platform/routes#matching-behavior

The other way to do it would be to have a single worker, and inspect the incoming request to behave differently depending on whether the request is at the root, or at /site2/. I'd only recommend this if there are small differences between how the two sites should behave (e.g. swapping out a variable).

Upvotes: 0

Related Questions