TematikaTematika és kiindulási pont
Tanfolyam · 22 modul · magyarul

Nuxt for Devs — Cloudflare-re szabva

Gyakorlati Nuxt-tananyag ahhoz az esethez, amikor a cél nem „egy Nuxt app valahol”, hanem egy Nuxt app a Cloudflare Workers-en. Végig ez az ív: minden döntésnél az számít, hogy a végén az edge-en fog futni.

22 modul Nuxt 4 (2026) Vue-alapok feltételezve Koncepció + kód Cloudflare-fókusz

§Miért pont ez az ív?

Három dolgot vettem alapul, és ezek végig érződni fognak az anyagon:

§Kiindulási pont → célállapot

Ahogy a Cloudflare-anyagnál az AWS-megfeleltetés, itt ez a tábla a gyors tájékozódás: amit ma Vue SPA + Express környezetben kézzel raksz össze, annak mi a Nuxt-beli megfelelője.

Amit ma csinálszNuxt-megfelelőModul
vue-router konfig, route-tábla kézzelfájl-alapú routing az app/pages/ alatt, nested layoutokkal4
axios a komponensben, onMounted-benuseFetch / useAsyncData — már a szerveren lefut, nincs loading-villanás5
Vuex/Pinia store minden globális állapotrauseState (SSR-biztos), Pinia csak ahol tényleg kell6
Express router + controllerekserver/api/*.ts, defineEventHandler (h3)8
Express middleware (auth, log, rate limit)server/middleware/ + route middleware a kliensoldalon8, 10
passport + express-session + Redislezárt (sealed) cookie-session, nuxt-auth-utils / better-auth10
cors, helmet csomagokh3 utils + routeRules (cors, headers)7, 8
Vite/Webpack konfig kézzelnuxt.config.ts + modulok (Vite 8 fut alatta)12, 13
index.html, meta tagek, sitemap kézzeluseSeoMeta / useHead — szerveroldalon renderelve20
.env + process.env mindenholruntimeConfig, és Workers-en bindings + secrets12, 19
nodemon + külön frontend dev-szerveregy nuxt dev, HMR-rel — lokálisan is valódi bindingokkal18
nginx + PM2 + statikus mappa + CDNegyetlen Workers-deploy: SSR és a statikus assetek együtt17

§Hol tart a Nuxt 2026 augusztusában?

Fontos, mert pont most volt egy éles határ:

Amit a Cloudflare-anyagból újrahasznosítunk: a Workers-runtime, a bindings-modell, a wrangler-konfiguráció és a deploy-mechanika ott már megvan (1., 2., 3., 12., 13. modul). Itt nem ismétlem meg — hivatkozom rá, és arra fókuszálok, ami Nuxt-oldalról nézve új: mit generál a build, mi fut hol, és hol borul fel a szokásos Nuxt-recept a Workers-en.

§Tartalomjegyzék

I. rész — Miért Nuxt, és mi ez pontosanA döntés megalapozása és a mentális modell. Innen indul minden.
1

Miért Nuxt? — és miért pont Cloudflare-en

A tényleges összevetés: Vue SPA + Express vs. Nuxt. Mit ad hozzá (SSR és a hydration értelme, fájl-alapú routing, auto-import, beépített szerver, build-pipeline, modulrendszer, konvenciók), és mit veszítesz (keretrendszer-kötöttség, „mágia”, nehezebb debug, upgrade-adósság) — mert enélkül nem döntés, csak hype. Röviden a Next.js/SvelteKit-összevetés is. Végül a lényeg: miért illik a Nuxt kifejezetten jól a Workers-hez — egyetlen deploy-artefakt, SSR az edge-en, nincs külön CDN-réteg.

itt kezdjükvs. Vue + Express
2

A Nuxt anatómiája: mi épül, és mi hol fut

A motorháztető alatt: mi történik nuxt dev és nuxt build közben, mit generál a .nuxt/ és mi kerül a .output/-ba. A három futásidő szétválasztása (build-time, szerver, kliens) — ez az a modell, ami nélkül minden SSR-hiba érthetetlen marad. Nitro mint a szerver-réteg, presetek. A Nuxt 4 könyvtárszerkezete (app/, server/, shared/) és hogy miért lett így. Verzióhelyzet és a Nuxt 5 / Nitro v3 felkészülés.

.output, Nitro, presetek
3

Vue-fejjel Nuxtba: mi változik

Amit tudsz, az megmarad — de hét ponton máshogy kell gondolkodni: auto-import (és mikor harap vissza), composables/ konvenció, useState vs. ref és miért nem mindegy szerveren, definePageMeta, plugin-ok és a .client/.server utótagok, a window/document elérés szabályai, és a hydration mismatch — a leggyakoribb hiba, amit Vue-ból érkezve elkövetsz. Konkrét „ezt így írtad volna, helyette így” példákkal.

a leggyakoribb kezdő hibák
II. rész — Az alkalmazás felépítéseRouting, adat, állapot, renderelés — a napi munka gerince.
4

Routing, layoutok, middleware

Fájl-alapú routing a gyakorlatban: dinamikus és catch-all szegmensek, nested route-ok, route groups, named views (4.5). Layoutok és a useLayout. A háromféle middleware (globális, névvel hivatkozott, inline) és hol fut mindegyik — szerveren, kliensen, vagy mindkettőn. <NuxtLink> és a prefetch (plusz mikor kapcsold ki). Multitenant útvonaltervezés: /t/:tenant/… vs. subdomain vs. egyedi domain — melyiket hogyan kezeld Nuxtban.

multitenant útvonalak
5

Adatlekérés: useFetch, useAsyncData, $fetch

A tananyag legfontosabb modulja. Melyik mikor, és miért: a három eszköz pontos szerepe, a key jelentősége, reaktív kulcsok, enabled (4.5), transform, pick, getCachedData, lazy és server:false. Miért fut le kétszer az adatlekérésed, és hogyan kerüld el. Hibakezelés és useError. Végül a legkevésbé ismert csapda: a payload — mi utazik ki a HTML-be a szerveri lekérésből, és hogyan szivárogtatsz vele véletlenül más tenant adatát.

kulcsmodulpayload-szivárgás
6

Állapotkezelés és az SSR-csapdák

useState mint SSR-biztos alapeszköz, és miért nem szabad modulszintű ref-et használni globális állapotra — a cross-request state pollution, vagyis amikor az egyik felhasználó adata átszivárog a másikhoz, mert a szerveren a modul-scope megosztott. Mikor kell tényleg Pinia, és hogyan használd SSR-rel. useCookie és a cookie-alapú állapot. Állapot és tenant-kontextus együtt.

a klasszikus SSR-bug
7

Renderelési módok és routeRules — a Cloudflare-valósággal

Universal SSR, SPA-mód, prerender, és a hibrid renderelés útvonalanként. A routeRules teljes eszköztára (prerender, ssr, isr, swr, cache, headers, cors, redirect, noScripts). És az őszinte rész: az ISR/SWR platform-natívan Vercel/Netlify alatt működik — Workers-en mást jelent, más a tárolója és más a viselkedése. Megmutatom, mi működik, mi nem, és mit használj helyette (Workers cache, KV). Streaming SSR (4.5, kísérleti) és hogy Workers-en mit ér.

itt tér el a doksi a valóságtól
III. rész — A szerveroldalNitro, h3, és a nagy architekturális döntés.
8

Server routes és a h3 — Express-ből érkezve

server/api/ és server/routes/, defineEventHandler, az event-objektum felépítése. Body, query, route-paraméterek, fejlécek, cookie-k, streamelt válasz. Validáció (zod/valibot) és a hibakezelés createError-ral. Server middleware és amiben más, mint az Express-é. server/utils/ és az auto-import. Teljes Express → h3 megfeleltetési tábla a leggyakoribb mintákra, plusz a fájlfeltöltés és a webhook-fogadás gyakorlata.

Express → h3
9

A nagy döntés: full-stack Nuxt vagy külön API?

A tananyag elágazása. Az egyik út: a Nitro server routes kiváltja az Express API-t, minden egy deploy-egységben. A másik: a Nuxt SSR/BFF rétegként fut, a meglévő API mögötte marad. Végigvezetem mindkettőt a te multitenant SaaS-odra vetítve — csapatméret, migrációs kockázat, mobil-/partner-kliensek, közös típusok, hívási latency Workers-ről a régi API felé, üzemeltetési költség. Plusz a legvalószínűbb válasz: a hibrid, és hogy hol húzd meg a határt. Döntési checklist a végén.

architekturális elágazás
10

Auth és session Nuxt-módra

Miért nem egy az egyben átültethető a passport + express-session + Redis minta. A lezárt cookie-session (nuxt-auth-utils), a better-auth mérlege, és a szerveroldali védelem: miért nem elég a kliensoldali route middleware, és mit kell mindig a server/-ben ellenőrizni. Tenant-feloldás és tagság-ellenőrzés a kérés életciklusában. CSRF, kijelentkeztetés, session-visszavonás. Mi működik ebből Workers-en — és mi nem (a jelszó-hashelés kérdése).

Workers-kompatibilitás
11

Adatbázis és bindings a server/-ben

Hogyan éred el a Cloudflare-erőforrásokat Nuxtból: event.context.cloudflare.env, saját server/utils/db.ts wrapper, Drizzle D1-gyel és Hyperdrive-val, kapcsolat-életciklus kérésenként. Típusok generálása a bindingokhoz. A vasszabály: mit nem szabad importálni a szerverkódba (Node-only csomagok), és hogyan derül ez ki csak deploy után, ha nem figyelsz. Tranzakciók és a batch-minta. Lokális vs. távoli erőforrás fejlesztés közben.

Drizzle, D1, Hyperdrive
IV. rész — Fejlesztői gyakorlatKonfiguráció, ökoszisztéma, teljesítmény, tesztelés.
12

Konfiguráció: nuxt.config.ts, runtimeConfig, TypeScript

A konfigfájl végigvezetve, a gyakorlatban tényleg használt opciókkal. A négy szint szétválasztása: build-time konstans vs. runtimeConfig vs. környezeti változó vs. Cloudflare binding/secret — melyik mikor, és melyik szivárog ki a kliensbe. app.config.ts vs. runtimeConfig. A Nuxt 4 TypeScript-felállása (külön projektek app/server/shared kódra), aliasok, a shared/ könyvtár és a közös típusok kliens és szerver között.

konfig-referencia
13

Modul-ökoszisztéma: mit érdemes tényleg használni

Nem katalógus, hanem szűrt lista Workers-szemmel. Amit ajánlok és miért: @nuxt/image (és hogy Workers-en hogyan oldd meg — sharp ott nem fut), @nuxtjs/i18n, @nuxt/fonts, @vueuse/nuxt, @pinia/nuxt, UI-könyvtár kérdés (@nuxt/ui vs. saját). Amivel vigyázz: @nuxt/content és a fájlrendszer-igényes modulok. Végül: hogyan írj saját modult, ha ismétlődő setupod van.

Workers-kompatibilitás szűrő
14

Layers: kód-újrafelhasználás és white-label

A Nuxt egyik legalulértékeltebb képessége, és ami a te esetedben kifejezetten releváns: layerekkel egy alap-app fölé húzhatók tenant- vagy márkaspecifikus rétegek (téma, komponens-felülírás, extra oldalak) anélkül, hogy külön kódbázist tartanál fenn. Hogyan működik az extends, mi a feloldási sorrend, mit lehet felülírni és mit nem. Monorepo-felállás, és a buktatók (build-idő, verziózás, a „melyik fájl nyer” kérdés).

multitenant témázás
15

Teljesítmény: hydration, payload, bundle

Hol vész el a Nuxt-appok sebessége: a hydration költsége és hogyan csökkentsd (<ClientOnly>, lazy komponensek, szigetek), a payload mérete és a payloadExtraction, komponens-szintű kódszeletelés, képek. Mérés Lighthouse-zal és a Core Web Vitals reális célszámai. És a Cloudflare-specifikus rész: a bundle-méret limit, mi fogyasztja el, hogyan mérd, és mit tegyél, ha átléped — plusz a cold start valósága Workers-en.

bundle-limit Workers-en
16

Tesztelés és hibakeresés

@nuxt/test-utils és a Vitest-felállás, komponens-tesztek, szerver-route tesztelése, és mennyi tesztet érdemes írni egy ilyen appra. Hibakeresés: a Nuxt 4.5 stabil hibakódjai, SSR-only hibák előhívása lokálisan, hydration mismatch felderítése lépésről lépésre, Vue DevTools és a Nuxt DevTools. Végül a nehéz eset: hiba, ami csak Workers-en jelentkezik — hogyan szűkítsd le.

DevTools, Vitest
V. rész — Cloudflare-re szabvaAhol a Nuxt-tudás és a platform találkozik.
17

Deploy Cloudflare Workers-re

Az első éles deploy végig: preset-választás, a wrangler.jsonc Nuxt-projekthez, static assets és a routing-sorrend (mikor fut a Worker és mikor jön statikus fájl), a build-output anatómiája. Preview URL-ek PR-onként, custom domain, környezetek. Amit a Cloudflare-anyag már lefedett, arra hivatkozom — itt a Nuxt-specifikus rész van kibontva, plusz a tipikus „lokálisan ment, deploy után 500-as” esetek katalógusa.

első éles deploy
18

Lokális fejlesztés valódi bindingokkal

A két út összevetése: nitro-cloudflare-dev (getPlatformProxy) vs. a Cloudflare Vite plugin — melyik mit szimulál, hol térnek el, melyiket válaszd. Lokális vs. távoli (remote) erőforrások és mikor melyik kell. Secretek fejlesztés közben. A dev és a prod közti maradék eltérések listája — mert lesznek, és jobb tudni, melyek azok.

dev-környezet
19

Ami Workers-en máshogy megy

A gyűjtőmodul mindenről, ami a szokásos Nuxt-recepteket felülírja: Node-API-k és a nodejs_compat határai, a nem működő csomagok (sharp, bcrypt, fájlrendszer-igényes libek) és a helyettesítésük, useStorage() driverek (KV, R2) a Node-os fs helyett, process.env vs. bindings, CPU-idő és a hosszú SSR, cold start, a 6 párhuzamos kimenő kapcsolat. Diagnosztikai recept: hogyan derítsd ki gyorsan, hogy egy hiba Nuxt- vagy platform-eredetű.

buktatók katalógusa
20

Éles üzem: SEO, i18n, cache, hibakövetés

Ami az indulás előtt kell. SEO Nuxtban (useSeoMeta, canonical egyedi tenant-domaineknél, sitemap és robots dinamikusan generálva, strukturált adat). i18n a cache-biztos módon. Cache-stratégia rétegenként: mit cache-elj a Workers-cache-ben, mit a Nitro storage-ban, és hol a személyre szabott tartalom határa. Hibakövetés és logolás Nuxt-oldalról (Nitro hookok, globális error handler, mit logolj és mit nem). Éles indulás előtti checklist.

indulás előtti checklist
VI. rész — ZárásAz átállás terve és egy visszakereshető referencia.
21

Migrációs recept: Vue SPA + Express → Nuxt a Cloudflare-en

Fázisokra bontott, visszafordítható terv. Mit vigyél át először (és miért nem az auth-ot), hogyan futhat a régi és az új párhuzamosan, útvonalankénti átterelés, a közös session kérdése az átmenetben, adatbázis-hozzáférés a két rendszerből, és a forgalom átkapcsolásának pillanata. Mérföldkövek, visszafordítási pontok, és a reális idővonal — plusz mikor éri meg nem migrálni.

átállási terv
22

Referencia: a Nuxt-konvenciók térképe

Visszakereséshez készült záró modul: minden speciális könyvtár és fájl egy táblázatban (app/, pages/, layouts/, components/, composables/, middleware/, plugins/, server/, shared/, public/, modules/, utils/) — mi kerül bele, mikor fut, mi importálódik automatikusan. Mellette a leggyakoribb composable-ok gyorsreferenciája és a fájlnév-utótagok (.client, .server, .global) jelentése.

gyorsreferencia
Amit szándékosan kihagyok (mert a te célodhoz nem visz közelebb — szólj, ha mégis kell):
Hogyan haladunk? Ugyanúgy, mint a Cloudflare-anyagnál: modulonként egy önálló, illusztrált HTML-lecke kódpéldákkal és záró önellenőrző kérdésekkel, a végén az egészet becsomagolva ugyanabba a kereshető, lapozható keretbe. Ha jó így a tematika, mondd, hogy „jöhet az 1-es” — ha valamit átrendeznél, kivennél vagy hozzávennél, most a legolcsóbb.
ElőzőEz az első anyag Következő 1. modul — Miért Nuxt? — és miért pont Cloudflare-en