Utmaning: 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:
- Förbered arbetsytan: Börja med att skapa en ny mapp på din dator och öppna den i din favoritkodredigerare.
- Ställ in uppgifter: Skapa filen
tasks.txtoch 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 🌿.
- Definiera ny uppgift: Skapa filen
new-task.txtoch 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. 💃🕺.
- 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
readFilefrånfs-modulen för att extrahera innehållet från filennew-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 funktionenappendFileför att lägga till innehållet i filentasks.txt. Kom ihåg att lägga till ett radbrytningstecken (\n) efter innehållet.
- Importera fs-modulen: Börja med att importera
- Kör programmet: Spara din
app.js-fil och kör den med Node.js i terminalen med kommandotnode 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.
123456789const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
- Importera modulen
fsför att arbeta med filer. - Använd
fs.readFile("new-task.txt", "utf-8")för att läsa innehållet från filennew-task.txt. - Kedja en
.then()för att hantera en lyckad läsning av filinnehållet. - I
.then()-blocket, tillhandahåll en callback-funktion som tar emot innehållet som ett argument. - Inuti
.then()-blocket förreadFile-löftet, returnera resultatet av att användafs.appendFileför att lägga till innehåll i filentasks.txt. - Kom ihåg att inkludera ett radbrytningstecken
\nför att separera det tillagda innehållet. - Efter
.then()-blocket förappendFile-operationen, kedja ett.catch()-block för att hantera eventuella fel som kan uppstå i hela kedjan. - I
.catch()-blocket, tillhandahåll en callback-funktion som tar emot en felparameter. - Inuti
.catch()-blocket, logga ett felmeddelande tillsammans med det mottagna felet. - 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);
});
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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`?
Awesome!
Completion rate improved to 2.56
Utmaning: 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:
- Förbered arbetsytan: Börja med att skapa en ny mapp på din dator och öppna den i din favoritkodredigerare.
- Ställ in uppgifter: Skapa filen
tasks.txtoch 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 🌿.
- Definiera ny uppgift: Skapa filen
new-task.txtoch 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. 💃🕺.
- 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
readFilefrånfs-modulen för att extrahera innehållet från filennew-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 funktionenappendFileför att lägga till innehållet i filentasks.txt. Kom ihåg att lägga till ett radbrytningstecken (\n) efter innehållet.
- Importera fs-modulen: Börja med att importera
- Kör programmet: Spara din
app.js-fil och kör den med Node.js i terminalen med kommandotnode 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.
123456789const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
- Importera modulen
fsför att arbeta med filer. - Använd
fs.readFile("new-task.txt", "utf-8")för att läsa innehållet från filennew-task.txt. - Kedja en
.then()för att hantera en lyckad läsning av filinnehållet. - I
.then()-blocket, tillhandahåll en callback-funktion som tar emot innehållet som ett argument. - Inuti
.then()-blocket förreadFile-löftet, returnera resultatet av att användafs.appendFileför att lägga till innehåll i filentasks.txt. - Kom ihåg att inkludera ett radbrytningstecken
\nför att separera det tillagda innehållet. - Efter
.then()-blocket förappendFile-operationen, kedja ett.catch()-block för att hantera eventuella fel som kan uppstå i hela kedjan. - I
.catch()-blocket, tillhandahåll en callback-funktion som tar emot en felparameter. - Inuti
.catch()-blocket, logga ett felmeddelande tillsammans med det mottagna felet. - 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);
});
Tack för dina kommentarer!