How to set environment variables in `wrangler pages dev` for Nuxt + Cloudflare Pages project?
I'm building a Nuxt 3 application deployed on Cloudflare Pages, and I'm having trouble getting environment variables to work with
wrangler pages dev dist/
during local development.
Setup
- Nuxt: ^3.15.3
- Cloudflare Pages: Latest
- Wrangler: 3.99.0 (pinned)
- Using PNPM: 9.12.2 as package manager
- Node: 22.13.1
- Building with pnpm build and testing production build with pnpm wrangler pages dev dist
What I've tried
- Set up runtime config in nuxt.config.js:
- Added environment variable to wrangler.toml:
- Tried setting it via command line binding:
- Added variable to .dev.vars
and .env
files (these work fine in development with pnpm dev)
Testing Code
Results
- In development (pnpm dev
): Environment variables work correctly
- In production build test (pnpm wrangler pages dev dist
): Environment variable is empty, despite being set in multiple places
According to Nuxt documentation, any environment variable starting with NUXT_PUBLIC
should automatically override the corresponding runtime config value. This works in development but not when testing the production build with Wrangler.
What am I missing? How can I get environment variables working correctly when using wrangler pages dev
?0 Replies