คู่มือนี้จะอธิบายขั้นตอนในการลบไฟล์ใน Node.js ด้วยความช่วยเหลือของ “fs.unlink()” โดยอธิบายในส่วนด้านล่าง:
วิธีลบไฟล์โดยใช้วิธี “fs.unlink()”
“ fs.ยกเลิกการเชื่อมโยง() ” เป็นวิธีการซิงโครนัสหรือการบล็อกเนื่องจากจะหยุดการทำงานของกระบวนการอื่น ๆ ทั้งหมดจนกว่าไฟล์ที่ระบุจะถูกลบออกอย่างสมบูรณ์ นี้ ' fs.ยกเลิกการเชื่อมโยง() ” วิธีการนี้ยังสามารถใช้เพื่อลบที่ได้รับมอบหมาย “ เป็นสัญลักษณ์ ” ลิงก์ที่ชี้ไปยังระบบไฟล์เป้าหมาย
ไวยากรณ์
“ fs.ยกเลิกการเชื่อมโยง() ” ไวยากรณ์ของวิธีการแสดงอยู่ด้านล่าง:
fsObj. ยกเลิกการเชื่อมโยง ( filePath, callbackFunc )
ในไวยากรณ์ข้างต้น:
- “ fsObj ” คือตัวแปรที่ทำหน้าที่เป็นวัตถุของ “ FS ' โมดูล.
- “ filePath ” คือเส้นทางของไฟล์ที่อยู่ในไดเร็กทอรีโครงการซึ่งจำเป็นต้องลบ
- “ ฟังก์ชั่นการโทรกลับ ” คือฟังก์ชันลูกศรที่จำเป็นซึ่งช่วยในการแสดงข้อความผลลัพธ์หรือข้อผิดพลาดที่เกิดขึ้นระหว่างการประมวลผล
มาดูตัวอย่างบางส่วนสำหรับการใช้งานจริงของเมธอด “fs.unlink()” กัน
ตัวอย่างที่ 1: การใช้วิธี 'fs.unlink()' เพื่อลบไฟล์
ในตัวอย่างนี้ ไฟล์โปรเจ็กต์แบบสุ่มจะถูกลบหรือลบออกจากไฟล์จากไดเร็กทอรีโปรเจ็กต์โดยใช้คำสั่ง “ fs.ยกเลิกการเชื่อมโยง() ' วิธี. การใช้งานจริงจะแสดงอยู่ในบล็อคโค้ดด้านล่าง:
ถูกลบไฟล์ = จำเป็นต้อง ( 'เอฟเอส' ) ;
ลบไฟล์. ยกเลิกการเชื่อมโยง ( 'linuxhintFile.txt' , การทำงาน ( ข้อผิดพลาด ) {
ถ้า ( ข้อผิดพลาด ) โยน ข้อผิดพลาด ;
คอนโซล บันทึก ( 'การดำเนินการลบไฟล์สำเร็จแล้ว!' ) ;
} ) ;
คอนโซล บันทึก ( 'การดำเนินการลบสิ้นสุดแล้ว!' ) ;
ในบล็อคโค้ดด้านบน:
- ประการแรก “ FS ” โมดูลถูกนำเข้าแล้ว และอ็อบเจ็กต์ของมันถูกเก็บไว้ในตัวแปรใหม่ชื่อ “ ลบไฟล์ '.
- จากนั้น “ ยกเลิกการเชื่อมโยง() ” วิธีการถูกเรียกโดยใช้ตัวแปร และชื่อไฟล์ที่ต้องการลบจะถูกส่งผ่านเป็นพารามิเตอร์แรก
- ฟังก์ชันโทรกลับที่สองยังใช้เพื่อตรวจจับและแสดงข้อผิดพลาดใดๆ ที่เกิดขึ้นระหว่างการดำเนินการเสร็จสิ้น
- ในกรณีที่ไม่มีข้อผิดพลาด ให้แสดงข้อความแสดงความสำเร็จ เพื่อยืนยันพฤติกรรมแบบอะซิงโครนัสของวิธีนี้ ให้เขียนโค้ดที่แสดงข้อความจำลองภายนอก ' ยกเลิกการเชื่อมโยง() ” ขอบเขตวิธีการ
เก็บโค้ดข้างต้นไว้ในไฟล์ที่ต้องการซึ่งมีนามสกุลเป็น “ .js ' ซึ่งเป็น ' proApp.js ” ในกรณีของเราและรันคำสั่งด้านล่างเพื่อดำเนินการ:
โหนด proApp เจสผลลัพธ์ที่สร้างขึ้นแสดงว่าไฟล์ที่เลือกถูกลบออกจากไดเร็กทอรีโครงการแล้ว นอกจากนี้ พฤติกรรมแบบอะซิงโครนัสของเมธอดนี้ยังได้รับการยืนยันเนื่องจากข้อความที่เขียนหลังจากดำเนินการเมธอดนี้ก่อน:
ตัวอย่างที่ 2: การใช้วิธี 'fs.unlink()' เพื่อลบลิงก์สัญลักษณ์
“ เป็นสัญลักษณ์ ” ลิงก์ไม่มีอยู่จริงในไฟล์ แต่มีเส้นทางสัมพัทธ์หรือเส้นทางสัมบูรณ์เป็นข้อมูลอ้างอิงสำหรับไฟล์ที่แนบมาอื่นๆ การใช้งานสามารถเพิ่มประสิทธิภาพของแอปพลิเคชันในขณะที่ใช้พื้นที่น้อยลง ลิงก์สัญลักษณ์นี้สร้างขึ้นด้วยความช่วยเหลือของ “ fs.symlinkSync() ' หรือ ' fs.symlinkSync() ” วิธีการและสำหรับการลบ “ fs.ยกเลิกการเชื่อมโยง() ” ถูกใช้ดังแสดงด้านล่าง:
ค่าคงที่ fsObj = จำเป็นต้อง ( 'เอฟเอส' ) ;// การสร้างลิงก์สัญลักษณ์
fsObj. ซิมลิงค์ซิงค์ ( __ชื่อ + ' \\ ดัชนี.html' , 'ไฟล์สัญลักษณ์' ) ;
คอนโซล บันทึก ( ' \n สร้างลิงก์สัญลักษณ์ไปยังไฟล์ index.html' ) ;
ดึงไฟล์ ( ) ;
fsObj. ยกเลิกการเชื่อมโยง ( 'ไฟล์สัญลักษณ์' , ( ข้อผิดพลาด => {
ถ้า ( ข้อผิดพลาด ) คอนโซล บันทึก ( ข้อผิดพลาด ) ;
อื่น {
คอนโซล บันทึก ( ' \n ลบลิงก์ที่สร้างแล้ว: symbolicFile' ) ;
// รับไฟล์ในไดเร็กทอรีปัจจุบันหลังจากการลบ
ดึงไฟล์ ( ) ;
}
}
) ) ;
// ฟังก์ชั่นรับชื่อไฟล์ปัจจุบันในไดเร็กทอรีที่มีนามสกุลเฉพาะ
ฟังก์ชั่นดึงไฟล์ ( ) {
คอนโซล บันทึก ( ' \n ไฟล์ที่มีอยู่ในโครงการปัจจุบัน:' ) ;
ให้สินทรัพย์ = fsObj. readdirSync ( __ชื่อ ) ;
สินทรัพย์ แต่ละ ( สินทรัพย์ => {
คอนโซล บันทึก ( สินทรัพย์ ) ;
} ) ;
}
คำอธิบายของบล็อกโค้ดข้างต้นมีดังนี้:
- นำเข้า “ FS ” โมดูลและจัดเก็บวัตถุไว้ใน “ fsObj ” ชื่อตัวแปร
- สร้างลิงก์สัญลักษณ์ไปยังไฟล์โครงการปัจจุบันชื่อ “ ดัชนี.html ” และกำหนดชื่อ “ SymbolicFile ” ไปยังไฟล์ลิงก์สัญลักษณ์ที่สร้างขึ้น “ __ชื่อ คุณสมบัติ ” ใช้เพื่อดึงข้อมูลพาธสัมบูรณ์สำหรับไดเร็กทอรีโปรเจ็กต์ปัจจุบัน
- ด้วยความช่วยเหลือของ “ console.log() ” วิธีการแสดงข้อความแสดงความสำเร็จและเรียกใช้การกำหนดแบบกำหนดเอง “ เรียกค้นไฟล์() ' การทำงาน.
- ตอนนี้เรียกใช้ ' ยกเลิกการเชื่อมโยง() ” วิธีการผ่าน “ fsObj ” และส่งชื่อไฟล์สัญลักษณ์เป็นพารามิเตอร์แรกที่จำเป็นต้องลบ วิธีการนี้จำเป็นต้องมีฟังก์ชันการติดต่อกลับที่ใช้ในการตรวจจับและแสดงข้อผิดพลาดที่เกิดขึ้น
- แสดงข้อความการลบและเรียกใช้อีกครั้ง “ เรียกค้นไฟล์() ” หากไม่มีข้อผิดพลาด
- หลังจากนั้น ให้นิยาม “ เรียกค้นไฟล์() ” ฟังก์ชันที่อ่านไดเร็กทอรีโครงการปัจจุบันโดยใช้ฟังก์ชัน “ readdirSync() ' การทำงาน. ในที่สุด ไดเร็กทอรีที่อยู่ทั้งหมดจะแสดงบนคอนโซลโดยใช้ส่วนขยาย “ แต่ละ ” วนซ้ำ
ตอนนี้ให้รันโค้ดด้านบนโดยดำเนินการคำสั่งที่มี “ .js ” พิมพ์ไฟล์ ไฟล์ที่มีในกรณีของเราคือ “ proApp.js ” ดังนั้นคำสั่งของเราในการดำเนินการจะเป็น:
โหนด proApp เจสผลลัพธ์ที่สร้างขึ้นแสดงว่ามีการสร้างลิงก์สัญลักษณ์แล้วลบออกผ่านทาง ' fs.ยกเลิกการเชื่อมโยง() ' วิธี:
เคล็ดลับโบนัส: วิธี “fs.unlinkSync()” คืออะไร
“ ยกเลิกการเชื่อมโยงซิงค์() ” วิธีการนี้จัดทำโดย “ FS ' โมดูล; มันคือ ' ซิงโครนัส ” รุ่นของ “ ยกเลิกการเชื่อมโยง() ' วิธี. “ ยกเลิกการเชื่อมโยงซิงค์() ” สามารถใช้ในการดำเนินการเดียวกันกับการลบไฟล์หรือไฟล์สัญลักษณ์ แต่ดำเนินการแบบซิงโครนัส มันจะบล็อกกระบวนการเอาชนะทั้งหมดจนกว่าไฟล์เป้าหมายจะไม่ถูกลบ ดังที่แสดงด้านล่าง:
ถูกลบไฟล์ = จำเป็นต้อง ( 'เอฟเอส' ) ;ลบไฟล์. ยกเลิกการเชื่อมโยงซิงค์ ( 'linuxhintFile.txt' ) ;
คอนโซล บันทึก ( 'การดำเนินการลบสิ้นสุดแล้ว!' ) ;
ในบล็อคโค้ดด้านบน:
- ประการแรก “ FS ” โมดูลถูกนำเข้าแล้ว และอ็อบเจ็กต์ของมันถูกเก็บไว้ในตัวแปรใหม่ชื่อ “ ลบไฟล์ '.
- จากนั้น “ ยกเลิกการเชื่อมโยงซิงค์() ” วิธีการถูกเรียกโดยใช้ “ ลบไฟล์ ” และชื่อไฟล์ที่ต้องการลบจะถูกส่งผ่านเป็นพารามิเตอร์
- เพื่อยืนยัน “ ซิงโครนัส ” พฤติกรรมของวิธีนี้ ให้เขียนโค้ดที่แสดงข้อความจำลองข้าง ๆ “ ยกเลิกการเชื่อมโยงซิงค์() ' วิธี.
เก็บโค้ดข้างต้นไว้ในไฟล์ที่ต้องการซึ่งมีนามสกุลเป็น “ .js ' ซึ่งเป็น ' proApp.js ” ในกรณีของเราและรันคำสั่งด้านล่างเพื่อดำเนินการ:
นั่นคือทั้งหมดที่เกี่ยวกับการลบไฟล์ใน Node.js โดยใช้วิธี “fs.unlink()”
บทสรุป
หากต้องการลบไฟล์ใน Node.js ให้ส่งพาธของไฟล์เป้าหมายเป็นอันแรกและฟังก์ชันโทรกลับเพื่อจัดการข้อผิดพลาด และดำเนินการอย่างอื่นเป็นพารามิเตอร์ตัวที่สองสำหรับ “ ยกเลิกการเชื่อมโยง() ' วิธี. “ ยกเลิกการเชื่อมโยง() ” วิธีการใช้ในการลบไฟล์ที่เชื่อมโยงสัญลักษณ์เช่นกัน วิธีนี้มีเวอร์ชันซิงโครนัสและมีชื่อว่า “ ยกเลิกการเชื่อมโยงซิงค์() ” วิธีการซึ่งทำหน้าที่คล้ายกับ “ ยกเลิกการเชื่อมโยง() ” แต่ไม่รวมถึง “ โทรกลับ ” ส่วนฟังก์ชั่น คู่มือนี้ได้อธิบายขั้นตอนการลบไฟล์ผ่านทาง “ fs.ยกเลิกการเชื่อมโยง() ' วิธี.