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-extraSitten 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.