Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

เมธอด process.chdir() ใน Node.js

เมธอด process.chdir() ใช้สำหรับเปลี่ยนไดเรกทอรีปัจจุบันของกระบวนการ Node.js จะข้อกลับข้อยกเว้น (exception) หากเกิดข้อผิดพลาดหรือกระบวนการล้มเหลว แต่จะไม่คืนค่าอะไรเมื่อสำเร็จ เช่น: อาจล้มเหลวเมื่อไดเรกทอรีที่ระบุไม่มีอยู่

ไวยากรณ์

process.chdir(directory)

พารามิเตอร์

  • directory – จะมีชื่อไดเรกทอรีที่จะอัปเดตแทนชื่อไดเรกทอรีเดิม

ตัวอย่าง

สร้างไฟล์ชื่อ chdir.js และคัดลอกโค้ดด้านล่าง หลังจากสร้างไฟล์แล้ว ใช้คำสั่งต่อไปนี้เพื่อรันโค้ด:

node chdir.js

chdir.js

// โปรแกรม Node.js สาธิตการใช้ process.chdir()
// นำเข้าโมดูล process
const process = require('process');
// แสดงไดเรกทอรีทำงานปัจจุบัน
console.log("Present working directory: " + process.cwd());
try {
    // อัปเดตด้วยไดเรกทอรีใหม่
    process.chdir('../tutorialspoint');
    console.log("Updated working directory is: " + process.cwd());
} catch (err) {
    // แสดงข้อผิดพลาดหากมี
    console.error("error occured while " + "changing directory: " + err);
}

ผลลัพธ์

C:\home\node>> node chdir.js
Present working directory: /home/mayankaggarwal/mysql-test
Updated working directory is: /home/mayankaggarwal/tutorialspoint

ตัวอย่างเพิ่มเติม

ลองดูตัวอย่างอีกหนึ่งกรณี:

// โปรแกรม Node.js สาธิตการใช้ process.argv
// นำเข้าโมดูล process
const process = require('process');
try {
    // เปลี่ยนไดเรกทอรีด้วยชื่อด้านล่าง
    process.chdir('../not/tutorialspoint');
    console.log("New Directory has been succesfully updated");
} catch (err) {
    // แสดงข้อผิดพลาดหากเกิดขึ้น
    console.error("Error while changing directory", err);
}

ผลลัพธ์

C:\home\node>> node chdir.js
Error while changing directory { Error: ENOENT: no such file or directory, chdir '../not/tutorialspoint'
    at process.chdir (internal/process/main_thread_only.js:31:12)
    at Object.<anonymous> (/home/mayankaggarwal/mysql-test/process.js:9:9)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
    errno: -2,
    code: 'ENOENT',
    syscall: 'chdir',
    path: '../not/tutorialspoint' }