Hantera information hos användare via kakor

author: krm created: 2022-05-02 status: alpha

# 👁️‍🗨️ Om detta avsnitt

Använd en kaka för att se hur ofta en person har läst en sida. Vi kommer behöva installera ett paket som kan parsar kakorna för oss. Vi kommer i testeran utgå från att guiden nedan är gjort.

❓ Vad är en webbkaka?

Är data som sparas av server på klientdator av webläsaren. Om webkakan innehåller personklig information måste användaren frågas om tillåteslse att anväda dem, annars inte.

1 Installera paketet “cookie-parser”.

Vi behöver ett paket som kan göra parsningen av dessa åt oss.


npm install cookie-parser
npm install @types/cookie-parser
  

2 Importera packetet cookie-parser

Skriv denna kod högst upp i programmet.


import cookie from "cookie-parser";
  

3 Lägg till ett midelware

Vi ska nu använda oss av detta paket. Lägg sedan till följande kod för att registrera ett midelware. Detta måste komma föra anrop som ska använda det.


app.use(cookie());
  

4 Räkna hur ofta någon har besökt en sida

Lägg till följande variabel i main funktionen.


let count =0;
  

5 Finns kakan?

Vi ska nu titta om det inte finns en kaka som heter count.


if(req.cookies.count === undefined) {
  

6 Skapa en tom kaka.

För om det inte finns en sådan kaka så får vi helt enkelt göra en.


res.cookie("count", 0, {maxAge: 100000000});
}
  

7 Om kakan redan finns

Då har vi möjlighet att göra något med den. Kakan kommer innehålla värdet som den har fått tidigare.


else {
// CODE
}
  

8 Få data om kakan

I kode avsnittet ovan så gör kod som lägga kakans värde i vår “count” variabel och sedan öka den med ett för att sedan sätta kakvan till detta värde.


count = Number(req.cookies.count);
count++;
  

9 Spara sedan data i kakan.

Vi behöver nu uppdaera kaka med det nya värdet.


res.cookie("count", count, {maxAge: 100000000});
  

10 Att skriva ut värdet.

Vi ska nu skriva ut värdet och då utgår vi från guiden "Använda mustash för att få dynamisak sidor", men du kan själv välja på vilket sätt du väljer att visa värdet på. Börja med att komplettera vårt objekt som anvädns för rendering.


"count": count,
  

11 Updatera vår mal

Vi behöver också komplettera vår mall där värdet ska visas.


<h2> Du har varit här {{count}}! </h2>
  

12 ✔️ Starta om servern och testa anropet

Starta om server och gå in på sidan:

13 ✔️ Tiita att du har en kaka i webbläsare