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
Quizzes & Challenges
Quizzes
Challenges
/
Backendutveckling med Node.js och Express.js

bookUtmaning: Filsystemoperationer

Mål

Bemästra konsten att automatisera uppgiftshantering! Uppgiften är att utveckla en applikation som samlar in uppgifter från en källa, extraherar dess 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 över befintliga uppgifter, och new-task.txt, som innehåller en enda uppgift som ska läggas till i filen tasks.txt.

Följ dessa steg för att slutföra utmaningen och skapa lösningen på din dator:

  1. Förbered arbetsytan: Börja med att skapa en ny mapp på din dator och öppna den i din favoritkodredigerare.
  2. Ställ in uppgifter: Skapa filen tasks.txt och fyll den med följande uppgifter eller använd den tillhandahållna tasks.txt filen:
    • Teach a goldfish 🐠 to play chess ♟️;
    • Build a sandcastle 🏰 in your living room 🛋️;
    • Create a song 🎶 using only sounds from nature 🌿.
  3. Definiera ny uppgift: Skapa filen new-task.txt och lägg in följande uppgift eller använd den tillhandahållna new-task.txt filen:
    • Invent a new dance move and perform it in public. 💃🕺.
  4. Huvudscript: Skapa filen app.js, som kommer att utgöra kärnan i din applikation.
    • Importera fs-modulen: Börja med att importera fs-modulen för att möjliggöra filhantering i applikationen;
    • Läs innehåll: Använd funktionen readFile från fs-modulen för att extrahera innehållet från filen new-task.txt. Implementera .then() och .catch() för att hantera både lyckade och felaktiga scenarier;
    • Lägg till innehåll: Inuti .then()-blocket, när innehållet har lästs in, använd funktionen appendFile för att lägga till innehållet i filen tasks.txt. Kom ihåg att lägga till ett radbrytningstecken (\n) efter innehållet.
  5. Kör programmet: Spara din app.js-fil och kör den med Node.js i terminalen med kommandot 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); });
copy
  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 en lyckad läsning av filinnehållet.
  4. I .then()-blocket, tillhandahåll 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, tillhandahåll 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.
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

Suggested prompts:

Can you explain how the `.then()` and `.catch()` methods work in this context?

What should I do if the `tasks.txt` or `new-task.txt` file does not exist?

How can I verify that the new task was successfully added to `tasks.txt`?

bookUtmaning: Filsystemoperationer

Svep för att visa menyn

Mål

Bemästra konsten att automatisera uppgiftshantering! Uppgiften är att utveckla en applikation som samlar in uppgifter från en källa, extraherar dess 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 över befintliga uppgifter, och new-task.txt, som innehåller en enda uppgift som ska läggas till i filen tasks.txt.

Följ dessa steg för att slutföra utmaningen och skapa lösningen på din dator:

  1. Förbered arbetsytan: Börja med att skapa en ny mapp på din dator och öppna den i din favoritkodredigerare.
  2. Ställ in uppgifter: Skapa filen tasks.txt och fyll den med följande uppgifter eller använd den tillhandahållna tasks.txt filen:
    • Teach a goldfish 🐠 to play chess ♟️;
    • Build a sandcastle 🏰 in your living room 🛋️;
    • Create a song 🎶 using only sounds from nature 🌿.
  3. Definiera ny uppgift: Skapa filen new-task.txt och lägg in följande uppgift eller använd den tillhandahållna new-task.txt filen:
    • Invent a new dance move and perform it in public. 💃🕺.
  4. Huvudscript: Skapa filen app.js, som kommer att utgöra kärnan i din applikation.
    • Importera fs-modulen: Börja med att importera fs-modulen för att möjliggöra filhantering i applikationen;
    • Läs innehåll: Använd funktionen readFile från fs-modulen för att extrahera innehållet från filen new-task.txt. Implementera .then() och .catch() för att hantera både lyckade och felaktiga scenarier;
    • Lägg till innehåll: Inuti .then()-blocket, när innehållet har lästs in, använd funktionen appendFile för att lägga till innehållet i filen tasks.txt. Kom ihåg att lägga till ett radbrytningstecken (\n) efter innehållet.
  5. Kör programmet: Spara din app.js-fil och kör den med Node.js i terminalen med kommandot 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); });
copy
  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 en lyckad läsning av filinnehållet.
  4. I .then()-blocket, tillhandahåll 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, tillhandahåll 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.
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