TypeScript:
Skrive en tekstfil
Hvordan:
TypeScript håndterer ikke direkte filoperasjoner da det kompileres til JavaScript, som tradisjonelt kjøres i nettleseren med begrenset tilgang til filsystemet. Men, når det brukes i et Node.js-miljø, gir fs
-modulen (File System) funksjonalitet for å skrive filer.
Bruk av Node.js fs-modul
Først, sørg for at du jobber i et Node.js-miljø. Deretter, bruk fs
-modulen for å skrive tekstfiler. Her er et grunnleggende eksempel:
import * as fs from 'fs';
const data = 'Hei, verden!';
const filePath = './melding.txt';
fs.writeFile(filePath, data, 'utf8', (err) => {
if (err) throw err;
console.log('Filen har blitt lagret!');
});
Dette vil asynkront skrive “Hei, verden!” til melding.txt
. Hvis filen ikke eksisterer, oppretter Node.js den; hvis den gjør det, overskriver Node.js den.
For synkron filskriving, bruk writeFileSync
:
import * as fs from 'fs';
const data = 'Hei igjen, verden!';
const filePath = './melding.txt';
try {
fs.writeFileSync(filePath, data, 'utf8');
console.log('Filen har blitt lagret!');
} catch (err) {
console.error(err);
}
Bruk av populære tredjepartsbiblioteker
Selv om det native fs
-modulet er kraftig, foretrekker noen utviklere å bruke tredjepartsbiblioteker for ekstra bekvemmelighet og funksjonalitet. fs-extra
er et populært valg som utvider fs
og gjør filoperasjoner mer rett frem.
Først må du installere fs-extra
:
npm install fs-extra
Deretter kan du bruke det i din TypeScript-fil for å skrive tekstinnhold:
import * as fs from 'fs-extra';
const data = 'Dette er fs-extra!';
const filePath = './ekstraMelding.txt';
// Bruker async/await
async function writeFile() {
try {
await fs.writeFile(filePath, data, 'utf8');
console.log('Filen har blitt lagret med fs-extra!');
} catch (err) {
console.error(err);
}
}
writeFile();
Denne koden gjør det samme som de tidligere fs
-eksemplene, men benytter fs-extra
-biblioteket, som tilbyr en renere syntaks for å håndtere løfter.