Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Utfordring: Filsystemoperasjoner | Bygge Konsollapplikasjoner med Node.js
Backend-Utvikling med Node.js og Express.js

Utfordring: Filsystemoperasjoner

Sveip for å vise menyen

Mål

Behersk automatisering av oppgavehåndtering! Målet er å utvikle en applikasjon som samler oppgaver fra én kilde, trekker ut innholdet, og integrerer dem i en annen fil. Løsningen skal også håndtere eventuelle feil som kan oppstå underveis.

Oppgave

Tenk deg at du har to filer:

  • tasks.txt, som inneholder en liste over eksisterende oppgaver;
  • new-task.txt, som inneholder én oppgave som skal legges til i tasks.txt.

Følg disse stegene for å løse utfordringen:

  1. Forbered arbeidsområdet
  • Opprett en ny mappe på maskinen din;
  • Åpne den i din foretrukne kodeeditor.
  1. Opprett tasks.txt
  • Opprett en fil med navnet tasks.txt;

  • Legg til følgende oppgaver i filen, eller last ned den ferdige filen:

    tasks.txt

Innhold:

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

    • Opprett en fil med navnet new-task.txt;
  • Legg til følgende oppgave i filen, eller last ned den ferdige filen:

    new-task.txt

Innhold:

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

    • Importer fs-modulen for å arbeide med filer;
    • Bruk readFile() for å lese innholdet i new-task.txt;
  • Håndter vellykkede og mislykkede operasjoner med .then() og .catch();
    • Inne i .then()-blokken, bruk appendFile() for å legge til innholdet i tasks.txt;
  • Legg til et linjeskift (\n) etter den innskrevne oppgaven.
  1. Kjør applikasjonen
  • Lagre app.js;
  • Åpne terminalen og kjør:
node app

Hvis du foretrekker å bruke kodeeditoren nedenfor, vær oppmerksom på at den ikke gjenkjenner filene dine og ikke vil vise fremdriften din.

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. Importer fs-modulen for å arbeide med filer.
  2. Bruk fs.readFile("new-task.txt", "utf-8") for å lese innholdet fra filen new-task.txt.
  3. Kjed en .then() for å håndtere vellykket lesing av filinnholdet.
  4. I .then()-blokken, oppgi en callback-funksjon som mottar innholdet som et argument.
  5. Inne i .then()-blokken til readFile-promisen, returner resultatet av å bruke fs.appendFile for å legge til innhold i filen tasks.txt.
  6. Husk å inkludere et linjeskift-tegn \n for å skille det tilføydte innholdet.
  7. Etter .then()-blokken til appendFile-operasjonen, kjed en .catch()-blokk for å håndtere eventuelle feil som kan oppstå i hele kjeden.
  8. I .catch()-blokken, oppgi en callback-funksjon som mottar en feilparameter.
  9. Inne i .catch()-blokken, logg en feilmelding sammen med den mottatte feilen.
  10. Kjør skriptet med Node.js ved å 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);
  });
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 4

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 2. Kapittel 4
some-alt