-
Notifications
You must be signed in to change notification settings - Fork 108
NuxtHub + Cloudflare: loss of the original DX #803
Description
Hello,
I come from the pre-Vercel period, When NuxtHub was built around Cloudflare.
At the time, I chose this module for its ease of use and its abstraction layer, which allowed developers to use Cloudflare services without requiring deep knowledge of the Cloudflare ecosystem. That was clearly the positioning of the module back then: a “turnkey / zero-config” solution.
Today, I no longer recognize that experience. Some things have become complex and confusing.
Environment management is not documented, nor is the handling of environment variables and secrets.
D1 migrations, for their part, are unclear and incomplete.
Between:
-
Nitro presets,
-
NuxtHub configuration,
-
Wrangler,
-
and the Cloudflare dashboard,
it becomes very difficult to understand:
-
who is responsible for what,
-
where things are supposed to be configured,
-
and what is actually supported versus unsupported.
Additionally, since the move from Cloudflare Pages to Workers, performance has unfortunately degraded in my case:
-
+600 ms to render a simple page,
-
sometimes more than +10 seconds during cold starts,
-
around +450 ms to serve an image from R2 through a server route.
On top of that, there is the loss of Cloudflare’s automatic CDN caching, which now has to be managed manually inside the worker via caches.default, along with the resulting explosion in request quotas.
That is a lot of changes, and not always in a positive direction from a developer experience (DX) standpoint.
My question, especially for users like myself who do not have deep Cloudflare expertise, is the following:
would it be possible to provide a complete “real-world” example application using NuxtHub with Cloudflare, clearly demonstrating:
- environment management:
-
production
-
preview
-
local
(with remote and/or local resources)
-
a clear and documented wrangler configuration
-
the recommended commands and workflows to manage D1 migrations:
-
locally
-
on a remote database
(for example, CLOUDFLARE_ENV=preview npx nuxt db migrate currently returns an error) -
in CI / during the worker build process
Regarding cache management (KV), it would also be helpful to understand how to control it more precisely.
Once caching is enabled, I find nuxt-icon icons and nuxt-i18n translations stored in the CACHE KV namespace without having explicitly opted into this behavior.
I originally came to NuxtHub for its simplicity of setup.
Today, I find myself unable to manage my project with confidence, due to a lack of clear documentation, explicit workflows, and concrete examples.
Thank you in advance for your feedback.
PS: I want to emphasize that I fully appreciate the work and effort of the NuxtHub team in creating and maintaining this module. It is an incredible tool for many developers, and my feedback is intended to highlight areas where clarifications and concrete examples could help users like me make the most of it. Thank you for your dedication and ongoing work on this project.