
วิธีเริ่มต้นใช้งาน VUE3.0 อย่างรวดเร็ว: เข้าสู่
ใช้เพื่อประมวลผลพาธและไฟล์ และมีวิธีการมากมาย
ข้อกำหนดประการหนึ่งของคือการเชื่อมเส้นทางและชื่อไฟล์เข้าด้วยกัน
const basePath = '/ ผู้ใช้/ ทำไม' const filename = 'abc.txt'
จากนั้นจะมีคนใช้ string splicing เพื่อประกบกัน
const filePath = basePath + '/' + ชื่อไฟล์ console.log(filePath);
แม้ว่าจะไม่มีปัญหากับผลลัพธ์ดังกล่าว แต่เมื่อพิจารณาถึงระบบที่แตกต่างกัน ระบบ Windows สามารถใช้ หรือ \ หรือ / เป็นตัวคั่นเส้นทาง ในขณะที่ระบบปฏิบัติการ Unix ของ Mac OS และ Linux ใช้ / เป็น สัญลักษณ์ตัวแยกเส้นทาง

เพื่อแก้ไขปัญหาข้างต้น เราสามารถใช้ path.resolve เพื่อประกบเส้นทางได้
เส้นทาง const = ต้องการ ('เส้นทาง')
const basePath = '/ ผู้ใช้/ ทำไม'
ชื่อไฟล์ const = 'abc.txt'
const filePath = path.resolve (basePath, ชื่อไฟล์)
console.log(เส้นทางไฟล์); 
const path = need('path')
const filePath = '/User/haha/abc.txt'
console.log(path.dirname(filePath));
console.log(path.basename(filePath));
console.log(path.extname(เส้นทางไฟล์)); 
หากเราต้องการประกบหลายเส้นทาง แต่ระบบปฏิบัติการที่แตกต่างกันอาจใช้ตัวคั่นที่แตกต่างกัน เราสามารถใช้ฟังก์ชัน path.join
เส้นทาง const = ต้องการ ('เส้นทาง')
const basepath = '/ ผู้ใช้ / ฮ่าฮ่า'
ชื่อไฟล์ const = 'abc.txt'
const filePath = path.join (basepath, ชื่อไฟล์)
console.log(เส้นทางไฟล์); 
หากเราต้องการประกบไฟล์และโฟลเดอร์ เราสามารถใช้ path.resolve
const basepath = 'ผู้ใช้/ฮ่าฮ่า' ชื่อไฟล์ const = 'abc.txt'

Path.resolve และ path.join ยังสามารถใช้เพื่อเชื่อมต่อเส้นทางได้ ดังนั้นความแตกต่างคืออะไร
const basepath = '../ผู้ใช้/ฮ่าฮ่า' ชื่อไฟล์ const = './abc.txt' const othername = './haha.js' const filePath1 = path.join (basepath, ชื่อไฟล์, ชื่ออื่น ๆ ) console.log(filePath1); const filePath2 = path.resolve (basepath, ชื่อไฟล์, ชื่ออื่น ๆ ) console.log(filePath2);
เราจะเห็นความแตกต่าง

มีวิธีการทำงานสามวิธี:
การทำงานของไฟล์แบบซิงโครนัส: โค้ดจะถูกบล็อกและจะไม่ดำเนินการ
ฟังก์ชันการโทรกลับแบบอะซิงโครนัสต่อไป: โค้ดจะไม่ถูกบล็อกและจำเป็นต้องมีฟังก์ชันการโทรกลับ ส่งผ่านเมื่อได้รับผลลัพธ์ ฟังก์ชันการโทรกลับจะดำเนินการ
ไฟล์การดำเนินการสัญญาแบบอะซิงโครนัส: รหัสจะไม่ถูกบล็อก การดำเนินการวิธีการเรียกผ่าน fs.promises จะส่งคืนสัญญาซึ่งสามารถประมวลผลผ่านตอนนั้นและตรวจจับได้
วิธีที่ 1 การดำเนินการแบบซิงโครนัส: fs.statSync
const fs = need('fs')
เส้นทางไฟล์ const = './abc.txt'
ข้อมูล const = fs.statSync (เส้นทางไฟล์)
console.log('โค้ดที่ต้องดำเนินการในภายหลัง');
console.log(ข้อมูล); 
วิธีที่ 2 การดำเนินการแบบอะซิงโครนัส
fs.stat(filepath, (err, info) => {
ถ้า (ผิดพลาด) {
console.log(ผิดพลาด);
กลับ
-
console.log(ข้อมูล);
console.log(info.isFile()); // ตรวจสอบว่าเป็นไฟล์ console.log(info.isDirectory()); // ตรวจสอบว่าเป็นโฟลเดอร์})
console.log('โค้ดที่ต้องดำเนินการในภายหลัง'); วิธีที่สาม: สัญญา
fs.promises.stat(filepath).then(info => {
console.log(ข้อมูล);
}).catch(ผิดพลาด => {
console.log(ผิดพลาด);
-
console.log('โค้ดที่จะดำเนินการในภายหลัง'); โหนด กำหนด ตัวอธิบายไฟล์ ตัวเลข ให้กับไฟล์ที่เปิดอยู่ทั้งหมด การดำเนินการของระบบไฟล์ทั้งหมดใช้ตัวอธิบายไฟล์เหล่านี้เพื่อระบุและติดตามไฟล์เฉพาะแต่ละไฟล์
fs.open() วิธีการใช้ในการจัดสรรตัวอธิบายไฟล์ใหม่ fd เมื่อจัดสรรแล้ว file descriptor จะสามารถใช้เพื่ออ่านข้อมูลจากไฟล์ เขียนข้อมูลลงในไฟล์ หรือขอข้อมูลเกี่ยวกับไฟล์ได้
const fs = ต้องการ ('fs')
fs.open('./abc.txt', (ผิดพลาด, fd) => {
ถ้า (ผิดพลาด) {
console.log(ผิดพลาด);
กลับ
-
// รับข้อมูลไฟล์ผ่านตัวอธิบายไฟล์ fs.fstat(fd, (err, info) => {
console.log(ข้อมูล);
-
}) fs.readFile(path[, options], callback): อ่านเนื้อหาไฟล์
fs.writeFile(path[, options], callback): เขียนเนื้อหาลงในพารามิเตอร์
ตัวเลือกไฟล์:
flag: โหมดการเขียน
การเข้ารหัส:การเขียนไฟล์
การเข้ารหัสอักขระ
fs.writeFile('./abc.txt', content, {flag: "a"}, err => {
console.log(ผิดพลาด);
}) การอ่านไฟล์
fs.readFile('./abc.txt', (ผิดพลาด, data) => {
console.log(ข้อมูล);
}) หากไม่ได้กรอกการเข้ารหัส ผลลัพธ์บัฟเฟอร์ (ไบนารี) จะถูกส่งกลับ

fs.readFile('./abc.txt', {การเข้ารหัส: 'utf-8'}, (ผิดพลาด ข้อมูล) => {
console.log(ข้อมูล);
- 
ใช้ fs.mkdir() หรือ fs.mkdirSync เพื่อสร้างโฟลเดอร์ใหม่
const fs = ต้องการ ('fs')
//สร้างโฟลเดอร์ const dirname = './haha'
ถ้า (! fs.existsSync (dirname)) {
fs.mkdir(dirname, (ผิดพลาด) => {
console.log(ผิดพลาด);
-
} fs.readdir
fs.readdir(dirname, (err, files) => {
console.log(ไฟล์);
}) รับไฟล์ทั้งหมดในโฟลเดอร์ ขณะนี้ไดเร็กทอรีดังแสดงในรูปด้านล่าง คุณสามารถใช้การเรียกซ้ำได้

const fs = ต้องการ ('fs')
เส้นทาง const = ต้องการ ('เส้นทาง')
const dirname = './ฮ่าฮ่า'
ฟังก์ชั่น getFiles (dirname) {
fs.readdir(dirname, {withFileTypes: true}, (ผิดพลาด, ไฟล์) => {
// console.log(ไฟล์);
สำหรับ (ให้ไฟล์ของไฟล์) {
// ตรวจสอบว่าเป็นโฟลเดอร์หรือไม่ if(file.isDirectory()) {
const filepath = path.resolve (dirname, file.name)
getFiles (เส้นทางไฟล์)
} อื่น {
console.log(ไฟล์.ชื่อ);
-
-
-
-
getFiles(dirname) คุณสามารถใช้ fs.rename เพื่อเปลี่ยนชื่อโฟลเดอร์ได้
fs.rename('./haha', './xixi', err => {
console.log(ผิดพลาด);
-