การเขียนไฟล์ข้อความ

TypeScript:
การเขียนไฟล์ข้อความ

วิธีการ:

TypeScript โดยตัวมันเองไม่ได้จัดการงานไฟล์โดยตรงเนื่องจากมันถูกคอมไพล์เป็น JavaScript ซึ่งโดยปกติแล้วจะทำงานในบราวเซอร์ที่มีการเข้าถึงระบบไฟล์จำกัด อย่างไรก็ตามเมื่อใช้งานในสภาพแวดล้อม Node.js โมดูล fs (File System) มีความสามารถในการเขียนไฟล์

การใช้งานโมดูล fs ของ Node.js

ขั้นแรก ตรวจสอบว่าคุณกำลังทำงานในสภาพแวดล้อม Node.js จากนั้นใช้โมดูล fs เพื่อเขียนไฟล์ข้อความ ตัวอย่างพื้นฐาน:

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('The file has been saved!');
});

ส่วนนี้จะเขียน “Hello, world!” แบบไม่ต้องรอ (asynchronously) ลงใน message.txt ถ้าไฟล์ไม่มีอยู่ Node.js จะสร้างขึ้นมา ถ้ามีอยู่แล้ว Node.js จะเขียนทับ

สำหรับการเขียนไฟล์แบบต้องรอ (synchronous), ใช้ writeFileSync:

import * as fs from 'fs';

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

try {
    fs.writeFileSync(filePath, data, 'utf8');
    console.log('The file has been saved!');
} catch (err) {
    console.error(err);
}

การใช้งานไลบรารีของฝ่ายที่สามที่ได้รับความนิยม

ในขณะที่โมดูล fs แบบดั้งเดิมมีความสามารถมาก บางครั้งนักพัฒนาก็ชอบใช้ไลบรารีของฝ่ายที่สามเพื่อความสะดวกและความสามารถเพิ่มเติม fs-extra เป็นตัวเลือกยอดนิยมที่ขยายความสามารถของ fs และทำให้การดำเนินการไฟล์ง่ายขึ้น

ขั้นแรก คุณจำเป็นต้องติดตั้ง fs-extra:

npm install fs-extra

จากนั้น คุณสามารถใช้ไลบรารีนี้ในไฟล์ TypeScript เพื่อเขียนเนื้อหาข้อความ:

import * as fs from 'fs-extra';

const data = 'This is fs-extra!';
const filePath = './extraMessage.txt';

// การใช้ async/await
async function writeFile() {
    try {
        await fs.writeFile(filePath, data, 'utf8');
        console.log('The file has been saved with fs-extra!');
    } catch (err) {
        console.error(err);
    }
}

writeFile();

ตัวอย่างโค้ดนี้ทำงานเหมือนกับตัวอย่าง fs ก่อนหน้าแต่ใช้ไลบรารี fs-extra ซึ่งเสนอไวยากรณ์ที่สะอาดกว่าสำหรับการจัดการ promises.