Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Udfordring: Filsystemoperationer | Opbygning af Konsolapplikationer med Node.js
Backend-Udvikling med Node.js og Express.js

Udfordring: Filsystemoperationer

Stryg for at vise menuen

Mål

Beherskelse af automatisering af opgavestyring. Udvikling af en applikation, der indsamler opgaver fra én kilde, udtrækker deres indhold og integrerer dem i en anden fil. Løsningen skal også håndtere eventuelle fejl undervejs.

Opgave

Forestil dig, at du har to filer:

  • tasks.txt, som indeholder en liste over eksisterende opgaver;
  • new-task.txt, som indeholder en enkelt opgave, der skal tilføjes til tasks.txt.

Følg disse trin for at gennemføre udfordringen:

  1. Forbered arbejdsområdet
  • Opret en ny mappe på din computer;
  • Åbn den i din foretrukne kodeeditor.
  1. Opret tasks.txt
  • Opret en fil med navnet tasks.txt;

  • Tilføj følgende opgaver til filen, eller download den forberedte fil:

    tasks.txt

Indhold:

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

    • Opret en fil med navnet new-task.txt;
  • Tilføj følgende opgave til filen, eller download den forberedte fil:

    new-task.txt

Indhold:

  • Invent a new dance move and perform it in public.
  1. Opret app.js

    • Importér fs-modulet for at arbejde med filer;
    • Brug readFile() til at læse indholdet af new-task.txt;
  • Håndter succesfulde og mislykkede operationer med .then() og .catch();
    • Inden i .then()-blokken, brug appendFile() til at tilføje indholdet til tasks.txt;
  • Tilføj et linjeskift (\n) efter den indsatte opgave.
  1. Kør applikationen
  • Gem app.js;
  • Åbn terminalen og kør:
node app

Hvis du foretrækker at bruge kodeeditoren nedenfor, skal du være opmærksom på, at den ikke genkender dine filer og ikke viser din fremgang.

123456789
const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
Tip
expand arrow
  1. Importér fs-modulet for at arbejde med filer.
  2. Brug fs.readFile("new-task.txt", "utf-8") til at læse indholdet fra filen new-task.txt.
  3. Kæd en .then() på for at håndtere den vellykkede læsning af filindholdet.
  4. I .then()-blokken gives en callback-funktion, der modtager indholdet som et argument.
  5. Inde i .then()-blokken for readFile-promisen returneres resultatet af at bruge fs.appendFile til at tilføje indhold til filen tasks.txt.
  6. Husk at inkludere et linjeskift \n for at adskille det tilføjede indhold.
  7. Efter .then()-blokken for appendFile-operationen kædes en .catch()-blok på for at håndtere eventuelle fejl, der måtte opstå i hele kæden.
  8. I .catch()-blokken gives en callback-funktion, der modtager en fejlparameter.
  9. Inde i .catch()-blokken logges en fejlmeddelelse sammen med den modtagne fejl.
  10. Kør scriptet med Node.js ved at skrive 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 alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Udfordring: Filsystemoperationer

Mål

Beherskelse af automatisering af opgavestyring. Udvikling af en applikation, der indsamler opgaver fra én kilde, udtrækker deres indhold og integrerer dem i en anden fil. Løsningen skal også håndtere eventuelle fejl undervejs.

Opgave

Forestil dig, at du har to filer:

  • tasks.txt, som indeholder en liste over eksisterende opgaver;
  • new-task.txt, som indeholder en enkelt opgave, der skal tilføjes til tasks.txt.

Følg disse trin for at gennemføre udfordringen:

  1. Forbered arbejdsområdet
  • Opret en ny mappe på din computer;
  • Åbn den i din foretrukne kodeeditor.
  1. Opret tasks.txt
  • Opret en fil med navnet tasks.txt;

  • Tilføj følgende opgaver til filen, eller download den forberedte fil:

    tasks.txt

Indhold:

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

    • Opret en fil med navnet new-task.txt;
  • Tilføj følgende opgave til filen, eller download den forberedte fil:

    new-task.txt

Indhold:

  • Invent a new dance move and perform it in public.
  1. Opret app.js

    • Importér fs-modulet for at arbejde med filer;
    • Brug readFile() til at læse indholdet af new-task.txt;
  • Håndter succesfulde og mislykkede operationer med .then() og .catch();
    • Inden i .then()-blokken, brug appendFile() til at tilføje indholdet til tasks.txt;
  • Tilføj et linjeskift (\n) efter den indsatte opgave.
  1. Kør applikationen
  • Gem app.js;
  • Åbn terminalen og kør:
node app

Hvis du foretrækker at bruge kodeeditoren nedenfor, skal du være opmærksom på, at den ikke genkender dine filer og ikke viser din fremgang.

123456789
const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
Tip
expand arrow
  1. Importér fs-modulet for at arbejde med filer.
  2. Brug fs.readFile("new-task.txt", "utf-8") til at læse indholdet fra filen new-task.txt.
  3. Kæd en .then() på for at håndtere den vellykkede læsning af filindholdet.
  4. I .then()-blokken gives en callback-funktion, der modtager indholdet som et argument.
  5. Inde i .then()-blokken for readFile-promisen returneres resultatet af at bruge fs.appendFile til at tilføje indhold til filen tasks.txt.
  6. Husk at inkludere et linjeskift \n for at adskille det tilføjede indhold.
  7. Efter .then()-blokken for appendFile-operationen kædes en .catch()-blok på for at håndtere eventuelle fejl, der måtte opstå i hele kæden.
  8. I .catch()-blokken gives en callback-funktion, der modtager en fejlparameter.
  9. Inde i .catch()-blokken logges en fejlmeddelelse sammen med den modtagne fejl.
  10. Kør scriptet med Node.js ved at skrive 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 alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 4
some-alt