Úvod
Web Vitals jsou klíčové metriky, které vám mohou pomoci kvantifikovat zážitek z vašeho webu/aplikace. S těmito znalostmi můžete jako vývojář podniknout několik kroků ke zlepšení svého webu/aplikace.
Next.js je framework pro reakce, který vás připraví na produkci tím, že poskytuje mnoho funkcí připravených přímo z krabice. Funkce, jako je hybridní statické a serverové vykreslování, inteligentní sdružování, předběžné načítání trasy a další, nemusíte implementovat sami.
A Next.js
aplikace bude automaticky sledovat důležité metriky webu a poskytne vám zprávu. Tento přehled můžete použít k vkládání do analytických nástrojů (jako je Google Analytics), abyste o něm získali lepší přehled.
V tomto článku se naučíme, jak integrovat Next.js
Přehled Web Vital s lehkou analytickou aplikací s názvem Quickmetrics
.
Přehled Web Vitals
Zde je rychlý přehled webových vitalit
- Čas do prvního bajtu (TTFB) :Vztahuje se k době mezi žádostí prohlížeče o stránku a okamžikem, kdy obdrží první bajt informací ze serveru.
- First Contentful Paint (FCP) :Čas, kdy prohlížeč vykreslí první část obsahu.
- Largest Contentful Paint (LCP) :Měří výkon při načítání. Pro lepší uživatelský výkon by LCP mělo dojít do 2,5 sekundy.
- Zpoždění prvního vstupu (FID) :Měří interaktivitu. Lepší uživatelský dojem by měl mít FID stránky kratší než 100 milisekund.
- Cumulative Layout Shift (CLS) :Měří vizuální stabilitu. Stránky by měly udržovat CLS menší než 0,1.
Přečtěte si podrobně o Web Vitals zde:https://web.dev/vitals/
Existuje nějakých Next.js
také specifické viteály,
- Next.js-hydratation :Doba, kterou stránka potřebuje, než začne a dokončí hydrataci HTML.
- Next.js-route-change-to-render :Doba, za kterou se stránka začne vykreslovat po změně trasy.
- Next.js-render :Doba, za kterou stránka dokončí vykreslování po změně trasy.
Přečtěte si o vlastních metrikách zde:Vlastní metriky Next.js
Nastavení nástroje Analytics:Quickmetrics
Quickmetrics je nástroj pro vlastní sběr metrik s vizualizací dat. Tento nástroj použijeme k dodávání dat web vitals z aplikace Next.js. Chcete-li začít, zaregistrujte se pomocí Quickmetrics. Vyberte si bezplatný plán, protože je pro naše použití velmi štědrý.
Po vytvoření účtu se přihlaste a poznamenejte si svůj API klíč. Tento klíč API použijeme v druhé části článku.
Je třeba poznamenat, že Vercel má vynikající analytickou podporu pro aplikace Next.js. Můžete to povolit nasazením aplikace Next.js do Vercelu. Ve výchozím nastavení bude tato možnost zakázána, ale lze ji povolit pro jednotlivé projekty přechodem na kartu analýzy. Navštivte tuto stránku, kde se o tom dozvíte více.
Krok 2:Vaše aplikace Next.js
Pokud již máte aplikaci Next.js, můžete tuto část přeskočit. V případě, že ne, připravte si věci podle těchto kroků.
Přejděte na tento projekt GitHub a použijte šablonu k vytvoření Next.js
projekt pro vás.
Naklonujte nový projekt na disk vašeho počítače a změňte do něj adresář.
cd nextjs-analytics/
Ke spuštění tohoto projektu budeme potřebovat nainstalované soubory Node.js a npm. Nainstalujte závislosti pomocí npm nebo yarn.
yarn install # Or, npm install
Po úspěšné instalaci závislostí použijte tento příkaz ke spuštění aplikace
yarn dev # Or, npm run dev
V příkazovém řádku byste měli vidět zprávu potvrzující, že aplikace běží na http://localhost:3000.
Otevřete kartu/okno prohlížeče a otevřete aplikaci pomocí adresy URL http://localhost:3000. Skvělé, měli byste vidět stránku jako je tato,
Nezdá se vám, že je stránka trochu prázdná? Bylo by skvělé, kdybychom přidali nějaká jména, popisy projektů atd. Pojďme na to.
Vytvořte soubor s názvem .env.local
v kořenové složce vašeho projektu s následujícím obsahem,
NEXT_PUBLIC_NAME=Tapas Adhikary
NEXT_PUBLIC_FAKE_BLOG_NAME=My Fake Blog
NEXT_PUBLIC_ORIGINAL_BLOG_NAME=GreenRoots Blog
NEXT_PUBLIC_ORIGINAL_BLOG_LINK=https://blog.greenroots.com
NEXT_PUBLIC_TWITTER_LINK=https://twitter.com/tapasadhikary
Poznámka:Můžete použít hodnoty dle vlastního výběru. Tyto hodnoty jsem použil pro účely příkladu.
Restartujte yarn dev
příkaz. Obnovte stránku, abyste viděli změny.
Poznámka :Tyto podrobnosti není nutné získávat z proměnných prostředí. Udělali jsme to jen proto, abychom se seznámili se zpracováním proměnných prostředí v Next.js
. Právě teď jej použijeme pro reálnější účel.
Krok 3:Povolení služby Analytics pomocí Quickmetrics
Přidejte několik dalších položek do .env.local
soubor,
NEXT_PUBLIC_QUICK_METRICS_API_KEY=EDiH_ZnU0IYxMlNtqfaesB
NEXT_PUBLIC_SEND_ANALYTICS=false
NEXT_PUBLIC_QUICK_METRICS_API_KEY
klíč je specifikovat API klíč, který jste si poznamenali dříve. NEXT_PUBLIC_SEND_ANALYTICS
slouží pro naše pohodlí k zapnutí/vypnutí analytických přehledů.
Dobře, nyní otevřete soubor pages/_app.js
soubor a přidejte tento fragment kódu.
export function reportWebVitals(metric) {
switch (metric.name) {
case 'FCP':
// handle FCP results
sendAnalytics(metric);
break
case 'LCP':
sendAnalytics(metric);
break
case 'CLS':
sendAnalytics(metric);
break
case 'FID':
sendAnalytics(metric);
break
case 'TTFB':
sendAnalytics(metric);
break
case 'Next.js-hydration':
sendAnalytics(metric);
break
case 'Next.js-route-change-to-render':
sendAnalytics(metric);
break
case 'Next.js-render':
sendAnalytics(metric);
break
default:
break
}
}
Nakonec přidejte sendAnalytics
funkce,
const sendAnalytics = ({ name, value }) => {
if (process.env.NEXT_PUBLIC_SEND_ANALYTICS) {
const url = `https://qckm.io?m=${name}&v=${value}&k=${process.env.NEXT_PUBLIC_QUICK_METRICS_API_KEY}`;
// Use `navigator.sendBeacon()` if available, falling back to `fetch()`.
if (navigator.sendBeacon) {
navigator.sendBeacon(url);
} else {
fetch(url, { method: "POST", keepalive: true });
}
} else {
console.warn('The Analytcs feature is disabled');
}
};
Zde nejprve zkontrolujeme, zda je analytika povolena. Pokud ano, vytvořte adresu URL, jak je navrženo v nastavení Quickmetrics, abyste předali název metriky, hodnotu a klíč API.
Všimněte si, že používáme Beacon
Požadavek jako výchozí. Pokud to prohlížeč nepodporuje, vrátíme se k fetch
. Pokud jste novým uživatelem Beacon
, můžete se to naučit zde:
Restartujte yarn dev
příkaz a několikrát aktualizujte aplikaci v prohlížeči. Měli byste být schopni sledovat tyto požadavky z ladicího nástroje
Kontrola metrik
Podívejte se na stránku s metrikami Quickmetrics, kde si ji můžete prohlédnout a provést nějakou analýzu.
Seznam shromážděných informací o metrikách
Ke každé z metrik můžete procházet podrobněji
Můžete si je přizpůsobit podle svých potřeb
Než skončíme...
Veškerý zdrojový kód použitý v článku lze nalézt zde
https://github.com/atapas/nextjs-analyticsDěkuji, že jste dočetli až sem! Pojďme se připojit. Můžete mi @me na Twitteru (@tapasadhikary) s komentáři, nebo je neváhejte sledovat.
Lajkujte/sdílejte tento článek, ať se dostane i k ostatním. Také by se vám mohlo líbit,
- 10 méně známých webových rozhraní API, která můžete chtít použít
- Jak protokolovat aktivity uživatelů pomocí rozhraní Beacon Web API?
- JAMstack pro všechny:Úvod