Favicons i Next.js App Router

Skriven av

App Router kan skapa ikonelement från filer med särskilda namn eller från metadata-objektet. Båda metoderna fungerar, men att blanda dem utan en tydlig regel kan lätt ge konkurrerande deklarationer.

App Router-träd som kopplar ikonfiler till sidor
Filkonventionerna följer ruttsegmenten i App Router.

Välj filkonventioner

Placera favicon.ico i roten av app. Ikonfiler i format som stöds kan ligga i ett ruttsegment, medan apple-icon beskriver ikonen för Apple-enheter.

Next.js upptäcker filerna, bestämmer lämpliga attribut och lägger till motsvarande link-element i head. En ikon i ett segment gäller för rutterna i det segmentet.

Ikonkonventioner i App Router
FilPlaceringSyfte
favicon.icoapp/Reservikon för webbplatsen
icon.svgsegment i appWebbläsarikon
apple-icon.pngsegment i appApple-ikon
manifest.webmanifestsegment i appManifest för installation

Använd metadata för uttryckliga sökvägar

Om filerna finns i public eller på en bildserver deklarerar du metadata.icons i en layout eller sida. Ange icon, apple och vid behov shortcut med konsekventa webbadresser.

Metadata från ett underordnat segment kan ersätta sammansatta fält som ärvts från det överordnade. Inspektera det färdiga head på flera rutter i stället för att anta att alla överordnade poster har slagits samman.

För en ikon som genereras vid behov stöder Next.js även icon.tsx eller icon.js. Funktionen returnerar bilddata med uttrycklig storlek och innehållstyp. Spara metoden för dynamiska motiv: en statisk fil är enklare att cacha, inspektera och leverera konsekvent mellan driftsättningar.

Koppla ihop manifestet och dess ikoner

En statisk manifestfil eller en manifest.ts-funktion kan beskriva appens namn, färger och ikoner för installation. Manifestikonernas adresser måste vara offentliga och peka på filer med de deklarerade dimensionerna.

Håll manifestets roll åtskild från faviconen i fliken: en installationsikon på 512×512 ersätter inte automatiskt icon.svg eller favicon.ico.

Testa i produktion

Kör ett produktionsbygge, öppna en rutt från varje berört segment och granska link-elementen. Öppna sedan varje filadress direkt och kontrollera att middleware inte fångar upp den.

Om du använder basePath eller ett CDN ska du testa de genererade adresserna i den driftsatta miljön. Lokalt beteende avslöjar inte alltid en felaktig publik basadress eller omskrivningsregel.

Primärkällor

Vanliga frågor

Behöver jag skriva link-element för hand?

Nej. Filkonventioner eller metadata.icons kan generera dem. Välj en tydlig källa som styr konfigurationen.

Var ska favicon.ico placeras?

Med App Router stöds konventionen favicon.ico i roten av katalogen app.

Ersätter manifest.ts icon.svg?

Nej. Manifestet beskriver bland annat ikoner för installation, medan icon.svg direkt tillhandahåller webbläsarens ikon.

Prova själv

Generatorn skapar hela uppsättningen på några sekunder, gratis och utan att ladda upp dina bilder.

Generera filer för Next.js

Läs vidare och prova fler verktyg

De andra verktygen i LFFavicon och guider som besvarar de vanligaste frågorna.

Verktyg

Guider