TypeScript:
Tekstitiedoston kirjoittaminen

Kuinka:

TypeScript ei itsessään käsittele suoraan tiedosto-operaatioita, sillä se kääntyy JavaScriptiksi, joka perinteisesti toimii selaimessa rajoitetulla pääsyllä tiedostojärjestelmään. Kuitenkin, kun sitä käytetään Node.js-ympäristössä, fs-moduuli (File System) tarjoaa toiminnallisuuden tiedostojen kirjoittamiseen.

Node.js fs-moduulin käyttäminen

Varmista ensin, että työskentelet Node.js-ympäristössä. Käytä sitten fs-moduulia teksti-tiedostojen kirjoittamiseen. Tässä on yksinkertainen esimerkki:

import * as fs from 'fs';

const data = 'Hello, world!';
const filePath = './message.txt';

fs.writeFile(filePath, data, 'utf8', (err) => {
    if (err) throw err;
    console.log('Tiedosto on tallennettu!');
});

Tämä kirjoittaa asynkronisesti “Hello, world!” message.txt-tiedostoon. Jos tiedostoa ei ole olemassa, Node.js luo sen; jos on, Node.js ylikirjoittaa sen.

Synkroniseen tiedoston kirjoittamiseen, käytä writeFileSync:

import * as fs from 'fs';

const data = 'Hello again, world!';
const filePath = './message.txt';

try {
    fs.writeFileSync(filePath, data, 'utf8');
    console.log('Tiedosto on tallennettu!');
} catch (err) {
    console.error(err);
}

Suosittujen kolmannen osapuolen kirjastojen käyttäminen

Vaikka alkuperäinen fs-moduuli on tehokas, jotkin kehittäjät suosivat kolmannen osapuolen kirjastojen käyttöä lisämukavuuden ja toiminnallisuuden vuoksi. fs-extra on suosittu valinta, joka laajentaa fs:ää ja tekee tiedosto-operaatioista suoraviivaisempia.

Asenna ensin fs-extra:

npm install fs-extra

Sitten voit käyttää sitä TypeScript-tiedostossasi kirjoittaaksesi tekstisisältöä:

import * as fs from 'fs-extra';

const data = 'Tämä on fs-extra!';
const filePath = './extraMessage.txt';

// Käyttäen async/await
async function writeFile() {
    try {
        await fs.writeFile(filePath, data, 'utf8');
        console.log('Tiedosto on tallennettu fs-extra:n avulla!');
    } catch (err) {
        console.error(err);
    }
}

writeFile();

Tämä koodinpätkä tekee saman asian kuin aiemmat fs-esimerkit, mutta hyödyntää fs-extra-kirjastoa, tarjoten puhtaamman syntaksin lupausten käsittelyyn.