easyFrontend

How do environment variables work in Next.js (the NEXT_PUBLIC_ prefix)?

1.0k views
01

Understand the problem

Server-only vs browser-exposed env vars.

nextjsenv-varsnext-publicconfiguration
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Server secret vs public var
// .env.local
DATABASE_URL=postgres://...          # server-only (secret)
NEXT_PUBLIC_API_URL=https://api.example.com   # inlined into the browser

// server (Server Component / Route Handler)
const db = connect(process.env.DATABASE_URL);      // ✅ secret stays server-side

// client component
'use client';
fetch(process.env.NEXT_PUBLIC_API_URL + '/ping');  // ✅ public var, visible to users
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.