Skip to content

NuxtHub + Cloudflare: loss of the original DX #803

@germsb

Description

@germsb

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:

  1. environment management:
  • production

  • preview

  • local
    (with remote and/or local resources)

  1. a clear and documented wrangler configuration

  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions