
Vinext 1.0 gør Next.js flytbart – kompatibiliteten er ikke fuld

Cloudflare lancerede Vinext 1.0 den 28. september 2026 som en Vite-baseret genimplementering af Next.js-funktioner. Den skal gøre apps med App Router eller Pages Router mulige at flytte til blandt andet Cloudflare Workers, Netlify og AWS Lambda. En eksisterende app kan derfor afprøves uden først at skrive dens ruter om, men en vellykket flytning afhænger af de funktioner, appen bruger, og den platform, den skal køre på.
Vinexts kompatibilitetsmåling viste for kørslen den 1. oktober 2026 en samlet beståelsesrate på 96,0 procent, 99,7 procent blandt understøttede test og 93,9 procent dækning af den understøttede testflade. Målingen bygger på Next.js’ deploy-testsuite kørt mod Vinext. Den viser omfattende understøttelse, men afgør ikke, om en bestemt applikations cache, udvidelser og deployment opfører sig som før.
En genimplementering ændrer mere end byggekommandoen
Vinext bruger Vite til udvikling og produktionsbyg og genskaber den offentlige Next.js-adfærd, som applikationskoden forventer. Det er en anden konstruktion end den officielle Next.js-værktøjskæde: Vinext overtager ikke dens færdige byggeoutput, men leverer selv blandt andet routing, serverrendering og de relevante API’er. Mapperne til App Router og Pages Router kan blive i projektet, mens laget, der bygger og kører dem, skiftes ud.
I Osmond van Hemerts analyse er skellet mellem bevaret kildestruktur og bevaret adfærd centralt for migrationen. En side kan bygge korrekt og stadig blive renderet eller cachet på et andet tidspunkt end i Next.js. Udvidelser, der griber ind i webpack eller bygger på interne detaljer i Next.js’ byg, følger heller ikke automatisk med til Vite.
Forskellen mærkes især i apps, hvor en rute både læser brugerdata, ændrer indhold og forventer en bestemt form for genvalidering. Her er det ikke nok, at de samme funktionsnavne findes: Svaret på næste forespørgsel skal også være det forventede. Derfor siger støtte til en offentlig API mindre om migrationsrisikoen end den konkrete kombination af rute, cache og runtime.
Begge routere er med, men procenterne må læses hver for sig
Vinext understøtter App Router, Pages Router og projekter, der bruger begge. Det omfatter React Server Components, Server Actions, API-ruter, route handlers, middleware og navigation på klientsiden. Routertypen alene udelukker altså ikke en afprøvning; spørgsmålet er, om appen benytter de dele af hver router, som Vinext endnu ikke gengiver fuldt ud.
De offentliggjorte beståelsesrater har forskellige nævnere. Raten for understøttede test udelader blandt andet udskudte test, test knyttet til Next.js’ egen compiler og områder, der afventer en tilsvarende løsning i Vite; den samlede rate medtager deres rå resultater. Test afspejler desuden projektets automatiserede suite, ikke enhver kombination af tredjepartspakker, specialkonfiguration og hosting, som findes i produktionsapps.
Cacheadfærd er den skarpeste migrationsgrænse
Udgivelsen udvider sidernes livscyklus på tværs af routerne. Vinext kan forberede ruter under bygningen, levere dem med sidebaseret Incremental Static Regeneration og ugyldiggøre cache efter sti eller tag. En app, der bruger statisk generering og senere opdaterer indhold, får dermed en relevant vej til Vinext, men den forventede opdatering skal stadig kunne genfindes i svarene fra den nye runtime.
Cache Components har fortsat begrænset understøttelse. Direktivet ”use cache” findes, mens den samlede adfærd omkring Cache Components og delvis forhåndsrendering endnu ikke er fuldt gengivet. Også håndteringen af forespørgselsparametre under visse klientnavigationer kan afvige: En ellers statisk rute kan få cachet et serverkomponentresultat, som Next.js ville behandle anderledes. Det er særligt væsentligt for sider, hvor indhold afhænger af bruger, søgning eller nylige ændringer.
På Cloudflare Workers kan deployment desuden opvarme udvalgte sider i cachen, før en ny version får produktionstrafik. Det knytter forhåndsrendering til Cloudflares udrulningsforløb og kan gøre vigtige ruter klar, inden de første brugere rammer versionen. Samme mekanisme kan ikke uden videre forudsættes på andre værter, selv om selve applikationen kan bygges med Vinext.
Driftsmålet afgør, hvad flytbarhed betyder
Cloudflare Workers er Vinexts direkte integrationsmål. Andre miljøer kan bruge selvstændigt Node-output eller en adapter, og det tilføjer et lag, hvor runtime, platformens API’er og caching skal passe til appens behov. Kode, der bruger Cloudflare-specifikke bindings, bliver ikke platformuafhængig, blot fordi ruterne nu bygges med Vite.
Det giver en konkret stopliste for en produktionsflytning: Cache Components og delvis forhåndsrendering, særlige webpack-udvidelser, afhængighed af billed- eller fontoptimering under bygning samt ruter, hvor autorisation møder cache eller forespørgselsparametre. Listen betyder ikke, at hver sådan app fejler. Den peger på de steder, hvor et grønt byg og en høj samlet testrate ikke i sig selv viser, at brugeren får det rigtige svar.
En eksisterende app kan afprøves ved siden af Next.js
Kommandoen npx vinext check søger efter kendte kompatibilitetsproblemer, mens npx vinext init tilføjer Vinexts opsætning og scripts. Projektets eksisterende Next.js-kildekode og scripts kan fortsat bruges, så de to byg kan sammenlignes på de samme ruter. Det gør en afgrænset migration mulig uden først at opgive den nuværende produktionsvej.
Beslutningen om at flytte trafikken afhænger derefter af appens egne resultater: server- og klientnavigation, ændringer i data, cacheugyldiggørelse, adgangskontrol og svar fra den valgte vært skal passe til den eksisterende adfærd. For en app uden afhængighed af de ufuldstændige områder kan Vinext allerede være en reel alternativ bygge- og driftsvej. For en app på stoplisten er den afgørende oplysning et vellykket testresultat for netop dens ruter og deployment.
Læs også:
Relaterede artikler


OpenAI-agenter nåede over 100 organisationer – gamle nøgler var nok

GitHub Actions eller GitLab CI? Samme pipeline kan tage dobbelt så lang tid

Meta går ind i virksomheds-AI – Muse bliver første byggesten

n8n, Make eller Zapier: 10 trin kan ændre hele AI-regningen

Cohere Embed 5 deler indeks mellem Pro og Fast – migreringen kræver egen test
Tilmeld dig vores nyhedsbrev
Få de seneste nyheder om Web3, AI og krypto direkte i din indbakke.