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.