Udfordring: Filsystemoperationer
Mål
Behersk automatisering af opgavestyring. Opgaven er at udvikle 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, og new-task.txt, som indeholder en enkelt opgave, der skal tilføjes til filen tasks.txt.
Følg disse trin for at gennemføre udfordringen og oprette løsningen på din egen maskine:
- Forbered arbejdsområde: Opret en ny mappe på din maskine og åbn den i din foretrukne kodeeditor.
- Opsæt opgaver: Opret filen
tasks.txtog indsæt følgende opgaver, eller brug den angivne tasks.txt fil:Teach a goldfish 🐠 to play chess ♟️;Build a sandcastle 🏰 in your living room 🛋️;Create a song 🎶 using only sounds from nature 🌿.
- Definer ny opgave: Opret filen
new-task.txtog indsæt følgende opgave, eller brug den angivne new-task.txt fil:Invent a new dance move and perform it in public. 💃🕺.
- Hovedscript: Opret filen
app.js, som fungerer som kernen i applikationen.- Importer fs-modul: Start med at importere
fs-modulet for at muliggøre filhåndtering i applikationen; - Læs indhold: Brug funktionen
readFilefrafs-modulet til at udtrække indholdet fra filennew-task.txt. Implementér.then()og.catch()for at håndtere både succes og fejl; - Tilføj indhold: Inde i
.then()-blokken, når indholdet er læst, anvendes funktionenappendFiletil at tilføje indholdet til filentasks.txt. Husk at tilføje et linjeskift (\n) efter indholdet.
- Importer fs-modul: Start med at importere
- Kør programmet: Gem din
app.js-fil og kør den med Node.js i terminalen med kommandoennode app.
Hvis du vælger at bruge kodeeditoren nedenfor, skal du være opmærksom på, at den ikke genkender dine filer og ikke viser din fremgang.
123456789const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
- Importér
fs-modulet for at arbejde med filer. - Brug
fs.readFile("new-task.txt", "utf-8")til at læse indholdet fra filennew-task.txt. - Kæd en
.then()på for at håndtere vellykket læsning af filindholdet. - I
.then()-blokken angives en callback-funktion, der modtager indholdet som et argument. - Inden i
.then()-blokken forreadFile-promisen returneres resultatet af at brugefs.appendFiletil at tilføje indhold til filentasks.txt. - Husk at inkludere et linjeskift
\nfor at adskille det tilføjede indhold. - Efter
.then()-blokken forappendFile-operationen kædes en.catch()-blok på for at håndtere eventuelle fejl, der måtte opstå i hele kæden. - I
.catch()-blokken angives en callback-funktion, der modtager en fejlparameter. - Inden i
.catch()-blokken logges en fejlmeddelelse sammen med den modtagne fejl. - Kør scriptet med Node.js ved at skrive
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);
});
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
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`?
Fantastisk!
Completion rate forbedret til 2.56
Udfordring: Filsystemoperationer
Stryg for at vise menuen
Mål
Behersk automatisering af opgavestyring. Opgaven er at udvikle 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, og new-task.txt, som indeholder en enkelt opgave, der skal tilføjes til filen tasks.txt.
Følg disse trin for at gennemføre udfordringen og oprette løsningen på din egen maskine:
- Forbered arbejdsområde: Opret en ny mappe på din maskine og åbn den i din foretrukne kodeeditor.
- Opsæt opgaver: Opret filen
tasks.txtog indsæt følgende opgaver, eller brug den angivne tasks.txt fil:Teach a goldfish 🐠 to play chess ♟️;Build a sandcastle 🏰 in your living room 🛋️;Create a song 🎶 using only sounds from nature 🌿.
- Definer ny opgave: Opret filen
new-task.txtog indsæt følgende opgave, eller brug den angivne new-task.txt fil:Invent a new dance move and perform it in public. 💃🕺.
- Hovedscript: Opret filen
app.js, som fungerer som kernen i applikationen.- Importer fs-modul: Start med at importere
fs-modulet for at muliggøre filhåndtering i applikationen; - Læs indhold: Brug funktionen
readFilefrafs-modulet til at udtrække indholdet fra filennew-task.txt. Implementér.then()og.catch()for at håndtere både succes og fejl; - Tilføj indhold: Inde i
.then()-blokken, når indholdet er læst, anvendes funktionenappendFiletil at tilføje indholdet til filentasks.txt. Husk at tilføje et linjeskift (\n) efter indholdet.
- Importer fs-modul: Start med at importere
- Kør programmet: Gem din
app.js-fil og kør den med Node.js i terminalen med kommandoennode app.
Hvis du vælger at bruge kodeeditoren nedenfor, skal du være opmærksom på, at den ikke genkender dine filer og ikke viser din fremgang.
123456789const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
- Importér
fs-modulet for at arbejde med filer. - Brug
fs.readFile("new-task.txt", "utf-8")til at læse indholdet fra filennew-task.txt. - Kæd en
.then()på for at håndtere vellykket læsning af filindholdet. - I
.then()-blokken angives en callback-funktion, der modtager indholdet som et argument. - Inden i
.then()-blokken forreadFile-promisen returneres resultatet af at brugefs.appendFiletil at tilføje indhold til filentasks.txt. - Husk at inkludere et linjeskift
\nfor at adskille det tilføjede indhold. - Efter
.then()-blokken forappendFile-operationen kædes en.catch()-blok på for at håndtere eventuelle fejl, der måtte opstå i hele kæden. - I
.catch()-blokken angives en callback-funktion, der modtager en fejlparameter. - Inden i
.catch()-blokken logges en fejlmeddelelse sammen med den modtagne fejl. - Kør scriptet med Node.js ved at skrive
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);
});
Tak for dine kommentarer!