Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Filsystemoperationer | Bygga Konsolapplikationer med Node.js
Backendutveckling med Node.js och Express.js

Utmaning: Filsystemoperationer

Svep för att visa menyn

Mål

Behärska konsten att automatisera uppgiftshantering! Uppgiften är att utveckla en applikation som samlar in uppgifter från en källa, extraherar deras innehåll och integrerar dem i en annan fil. Lösningen ska även hantera eventuella fel som kan uppstå under processen.

Uppgift

Föreställ dig att du har två filer:

  • tasks.txt, som innehåller en lista med befintliga uppgifter;
  • new-task.txt, som innehåller en enda uppgift som ska läggas till i tasks.txt.

Följ dessa steg för att slutföra utmaningen:

  1. Förbered din arbetsyta
  • Skapa en ny mapp på din dator;
  • Öppna den i din föredragna kodredigerare.
  1. Skapa tasks.txt
  • Skapa en fil med namnet tasks.txt;

  • Lägg till följande uppgifter i filen, eller ladda ner den förberedda filen:

    tasks.txt

Innehåll:

  • Teach a goldfish to play chess;
  • Build a sandcastle in your living room;
  • Create a song 🎶 using only sounds from nature.
  1. Skapa new-task.txt

    • Skapa en fil med namnet new-task.txt;
  • Lägg till följande uppgift i filen, eller ladda ner den förberedda filen:

    new-task.txt

Innehåll:

  • Invent a new dance move and perform it in public.
  1. Skapa app.js
  • Importera modulen fs för att arbeta med filer;
    • Använd readFile() för att läsa innehållet i new-task.txt;
  • Hantera lyckade och misslyckade operationer med .then() och .catch();
    • Inuti .then()-blocket, använd appendFile() för att lägga till innehållet i tasks.txt;
  • Lägg till ett radbrytningstecken (\n) efter den insatta uppgiften.
  1. Kör applikationen
  • Spara app.js;
  • Öppna terminalen och kör:
node app

Om du föredrar att använda kodredigeraren nedan, tänk på att den inte känner igen dina filer och inte kommer att visa din framsteg.

123456789
const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
Tips
expand arrow
  1. Importera modulen fs för att arbeta med filer.
  2. Använd fs.readFile("new-task.txt", "utf-8") för att läsa innehållet från filen new-task.txt.
  3. Kedja en .then() för att hantera lyckad läsning av filinnehållet.
  4. I .then()-blocket, ange en callback-funktion som tar emot innehållet som ett argument.
  5. Inuti .then()-blocket för readFile-löftet, returnera resultatet av att använda fs.appendFile för att lägga till innehåll i filen tasks.txt.
  6. Kom ihåg att inkludera ett radbrytningstecken \n för att separera det tillagda innehållet.
  7. Efter .then()-blocket för appendFile-operationen, kedja ett .catch()-block för att hantera eventuella fel som kan uppstå i hela kedjan.
  8. I .catch()-blocket, ange en callback-funktion som tar emot en felparameter.
  9. Inuti .catch()-blocket, logga ett felmeddelande tillsammans med det mottagna felet.
  10. Kör skriptet med Node.js genom att skriva node app.
Lösning
expand arrow
const fs = require("fs").promises;

fs.readFile("new-task.txt", "utf-8")
  .then((content) => {
    return fs.appendFile("tasks.txt", content + "\n");
  })
  .catch((error) => {
    console.log("Error occurred:", error);
  });
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 4

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Utmaning: Filsystemoperationer

Mål

Behärska konsten att automatisera uppgiftshantering! Uppgiften är att utveckla en applikation som samlar in uppgifter från en källa, extraherar deras innehåll och integrerar dem i en annan fil. Lösningen ska även hantera eventuella fel som kan uppstå under processen.

Uppgift

Föreställ dig att du har två filer:

  • tasks.txt, som innehåller en lista med befintliga uppgifter;
  • new-task.txt, som innehåller en enda uppgift som ska läggas till i tasks.txt.

Följ dessa steg för att slutföra utmaningen:

  1. Förbered din arbetsyta
  • Skapa en ny mapp på din dator;
  • Öppna den i din föredragna kodredigerare.
  1. Skapa tasks.txt
  • Skapa en fil med namnet tasks.txt;

  • Lägg till följande uppgifter i filen, eller ladda ner den förberedda filen:

    tasks.txt

Innehåll:

  • Teach a goldfish to play chess;
  • Build a sandcastle in your living room;
  • Create a song 🎶 using only sounds from nature.
  1. Skapa new-task.txt

    • Skapa en fil med namnet new-task.txt;
  • Lägg till följande uppgift i filen, eller ladda ner den förberedda filen:

    new-task.txt

Innehåll:

  • Invent a new dance move and perform it in public.
  1. Skapa app.js
  • Importera modulen fs för att arbeta med filer;
    • Använd readFile() för att läsa innehållet i new-task.txt;
  • Hantera lyckade och misslyckade operationer med .then() och .catch();
    • Inuti .then()-blocket, använd appendFile() för att lägga till innehållet i tasks.txt;
  • Lägg till ett radbrytningstecken (\n) efter den insatta uppgiften.
  1. Kör applikationen
  • Spara app.js;
  • Öppna terminalen och kör:
node app

Om du föredrar att använda kodredigeraren nedan, tänk på att den inte känner igen dina filer och inte kommer att visa din framsteg.

123456789
const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
Tips
expand arrow
  1. Importera modulen fs för att arbeta med filer.
  2. Använd fs.readFile("new-task.txt", "utf-8") för att läsa innehållet från filen new-task.txt.
  3. Kedja en .then() för att hantera lyckad läsning av filinnehållet.
  4. I .then()-blocket, ange en callback-funktion som tar emot innehållet som ett argument.
  5. Inuti .then()-blocket för readFile-löftet, returnera resultatet av att använda fs.appendFile för att lägga till innehåll i filen tasks.txt.
  6. Kom ihåg att inkludera ett radbrytningstecken \n för att separera det tillagda innehållet.
  7. Efter .then()-blocket för appendFile-operationen, kedja ett .catch()-block för att hantera eventuella fel som kan uppstå i hela kedjan.
  8. I .catch()-blocket, ange en callback-funktion som tar emot en felparameter.
  9. Inuti .catch()-blocket, logga ett felmeddelande tillsammans med det mottagna felet.
  10. Kör skriptet med Node.js genom att skriva node app.
Lösning
expand arrow
const fs = require("fs").promises;

fs.readFile("new-task.txt", "utf-8")
  .then((content) => {
    return fs.appendFile("tasks.txt", content + "\n");
  })
  .catch((error) => {
    console.log("Error occurred:", error);
  });
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 4
some-alt