WebbutvecklingCanvasDevs TeamUppdaterad

En produktionschecklista för Next.js App Router-webbplatser

En praktisk lanseringsgranskning för en befintlig Next.js-applikation: konsekvent rendering, åtkomstkontroll, metadata, integrationer, driftsättning och överlämning.

En produktionschecklista för Next.js App Router-webbplatser

Börja med applikationen du har

En fungerande förhandsvisning är en användbar utgångspunkt. Innan du tar emot betalningar eller bjuder in kunder, lista de flöden som måste fungera utanför det idealiska scenariot. För en AI-byggd SaaS-app kan det innebära att registrera sig, gå med i rätt arbetsyta, betala, återställa åtkomst och avsluta en prenumeration. Behåll användbar kod; bedöm saknat beteende innan du avgör om något behöver byggas om.

För en okänd kodbas bör en avgränsad betald bedömning ge en reproducerbar lokal uppsättning, en prioriterad lista över problem och en slutförandeplan. Tillhandahåll åtkomst till arkivet, en testmiljö, en beskrivning av användarroller och den avsedda lanseringsomfattningen. Dela inloggningsuppgifter via en överenskommen säker kanal.

Få servern och webbläsarens första rendering att överensstämma

React förväntar sig att den initiala klientutmatningen matchar server-HTML. Undvik att beräkna olika värden med Date.now(), slumpmässiga identifierare eller enbart webbläsarbaserad lagring under den första renderingen. För ett datum, skicka en stabil tidsstämpel och använd samma lokal och tidszon på båda sidor. Om en webbläsarinställning måste ändra visningen, tillämpa den efter hydrering utan att flytta viktigt innehåll.

suppressHydrationWarning är en begränsad undantagsmekanism för en oundviklig skillnad på ett element. Den fungerar en nivå djupt, och React reparerar inte felmatchad text genom den. Den är inte en generell reparation för felaktig rendering eller webbläsartillägg. Reproducera orsaken innan du väljer åtgärden. Se Reacts hydreringsreferens.

Välj metadata som passar rutten

Använd en statisk metadata export när en titel och beskrivning är fasta. Använd generateMetadata när de beror på ruttparametrar eller hämtat innehåll. Varje rutt behöver inte sin egen funktion; layouter kan tillhandahålla delade standardvärden. Verifiera den upplösta titeln, beskrivningen, kanoniska URL:en och delningsbilden i det levererade svaret. Referensen Next.js metadata-referens förklarar båda tillvägagångssätten.

Testa gränser, inte bara skärmar

  • Åtkomst: en utloggad användare kan inte läsa privata data, och en arbetsyta kan inte läsa en annan arbetsytas poster. Kontrollera serverauktorisering även när knappar är dolda.
  • Integrationer: pröva nekade betalningar, fördröjda webhooks, dubbletthändelser och utgångna inloggningsuppgifter i en sandlåda. Enbart en lyckad omdirigering ska inte ge betald åtkomst.
  • Data: dokumentera vilka svar som kan cachas, vad som ogiltigförklarar dem och hur en användares privata data hålls utanför delade cachar. Verifiera beteendet mot den installerade Next.js-versionen.
  • Formulär: bevara inmatning efter fel, visa begripliga fel och förhindra dubbletter av inskickningar. Testa med ett tangentbord och vid smala bredder.
  • Lansering: verifiera miljövariabler, migreringar, säkerhetskopior, övervakning och en fungerande återställning. Bestäm vem som kan driftsätta och vem som reagerar på fel.

Exempel på acceptanskontroll

För en prenumerationsinstrumentpanel, skapa två testkonton i separata arbetsytor. Avbryt betalningen för det första, slutför en sandlådebetalning för det andra och spela upp det andra betalningsmeddelandet igen. Bekräfta att endast den betalda arbetsytan får åtkomst och att återuppspelningen inte skapar någon dubblettberättigande. Registrera resultatet och eventuell olöst begränsning i lanseringschecklistan.

Mät laddning och layoutstabilitet innan du optimerar, upprepa sedan samma scenario efter en ändring. Ett laboratorietest hjälper till att diagnostisera ett problem; det fastställer inte percentiler för Core Web Vitals hos verkliga användare.

Canvas Developers erbjuder slutförande av AI-appar och utveckling av webbapplikationer. Det första steget är att förstå den nuvarande applikationen och komma överens om vad en lanseringsklar release omfattar.

Relaterade tjänster

Arbetar du med något liknande? Det här är tjänsterna bakom den här typen av arbete.