ใน Node.js, คุณสามารถเขียนไฟล์ได้โดยใช้โมดูล fs
(File System) เช่นเดียวกับการอ่านไฟล์ ตามนี้คือวิธีการเขียนไฟล์ใน Node.js:
นำเข้าโมดูล
fs
:
ในโค้ดของคุณ ให้เริ่มต้นโดยการนำเข้าโมดูลfs
ด้วยคำสั่งrequire
:1
const fs = require('fs');
ใช้
fs.writeFile()
เพื่อเขียนไฟล์:
ใช้ฟังก์ชันfs.writeFile()
เพื่อเขียนข้อมูลลงในไฟล์ โดยระบุเส้นทางไฟล์ที่คุณต้องการเขียนและข้อมูลที่คุณต้องการเขียน:1
2
3
4
5
6
7
8
9
10
11const filePath = 'example.txt';
const fileContent = 'นี่คือข้อความที่คุณต้องการเขียนลงในไฟล์';
fs.writeFile(filePath, fileContent, (err) => {
if (err) {
console.error('เกิดข้อผิดพลาดในการเขียนไฟล์:', err);
return;
}
console.log('ไฟล์ถูกเขียนเรียบร้อย');
});ในตัวอย่างนี้เราใช้
fs.writeFile()
เพื่อเขียนข้อความfileContent
ลงในไฟล์example.txt
.การจัดการข้อผิดพลาด:
เมื่อมีข้อผิดพลาดในการเขียนไฟล์ ฟังก์ชัน callback จะรับอาร์กิวเมนต์แรกเป็นข้อผิดพลาด (ถ้ามี) ดังนั้นคุณควรตรวจสอบerr
เพื่อรับรู้ว่ามีข้อผิดพลาดหรือไม่.การใช้
fs.writeFileSync()
(เวอร์ชันแบบซิงโครนัส):
หากคุณต้องการเขียนไฟล์แบบซิงโครนัส (synchronously) คุณสามารถใช้fs.writeFileSync()
ได้ตามนี้:1
2
3
4
5
6
7
8
9const filePath = 'example.txt';
const fileContent = 'นี่คือข้อความที่คุณต้องการเขียนลงในไฟล์';
try {
fs.writeFileSync(filePath, fileContent);
console.log('ไฟล์ถูกเขียนเรียบร้อย');
} catch (err) {
console.error('เกิดข้อผิดพลาดในการเขียนไฟล์:', err);
}โปรดทราบว่าการใช้
fs.writeFileSync()
จะทำให้โค้ดถูกบล็อกไว้ (blocking) ระหว่างที่ไฟล์ถูกเขียน ซึ่งอาจทำให้แอปพลิเคชันของคุณหยุดทำงานไประหว่างระยะเวลาที่เขียนไฟล์.
การใช้ fs.writeFile()
หรือ fs.writeFileSync()
ขึ้นอยู่กับความต้องการของคุณ หากคุณต้อง
การการเขียนแบบไม่บล็อกและมีความสามารถในการจัดการข้อผิดพลาดเป็นอิสระ fs.writeFile()
เป็นตัวเลือกที่ดี แต่หากคุณต้องการการเขียนแบบซิงโครนัสให้ใช้ fs.writeFileSync()
โดยระมัดระวังในการใช้ให้คำนึงถึงการบล็อกแอปพลิเคชันของคุณ.