การอ่านอาร์กิวเมนต์จากคำสั่งลำดับ

JavaScript:
การอ่านอาร์กิวเมนต์จากคำสั่งลำดับ

วิธีการ:

นี่คือวิธีที่ตรงไปตรงมาในการทำบน Node.js:

// process.argv ประกอบด้วยอาร์กิวเมนต์บรรทัดคำสั่ง
const args = process.argv.slice(2);

console.log(args);

// รันสคริปต์นี้ด้วย: node yourscript.js firstArg secondArg

ตัวอย่างผลลัพธ์เมื่อคุณรัน node yourscript.js pineapple 42:

['pineapple', '42']

การใช้แพ็คเกจเช่น yargs ทำให้ชีวิตง่ายขึ้น โดยให้คุณกำหนดและเข้าถึงอาร์กิวเมนต์ด้วยชื่อ

// ติดตั้งด้วย npm install yargs
const yargs = require('yargs/yargs');
const { hideBin } = require('yargs/helpers');
const argv = yargs(hideBin(process.argv)).argv;

console.log(argv);

// รันอย่างนี้ด้วย: node yourscript.js --fruit pineapple --number 42

และคุณจะได้:

{ fruit: 'pineapple', number: '42' }

สะอาดและชัดเจน พร้อมพารามิเตอร์ที่มีชื่อ

ดำดิ่งลึก

ก่อนหน้านี้ อาร์กิวเมนต์ถูกอ่านในภาษา C โดยใช้ argc และ argv ในฟังก์ชัน main ใน Node.js, process.argv เป็นตัวเลือกหลัก มันเป็นอาร์เรย์ที่องค์ประกอบแรกคือพาธไปยังโปรแกรมทำงาน node, องค์ประกอบที่สองคือชื่อไฟล์สคริปต์, และที่เหลือคืออาร์กิวเมนต์จริงของคุณ

yargs เหมาะสำหรับแอพซับซ้อน: มันแยกวิเคราะห์อาร์กิวเมนต์เป็นออบเจกต์ที่เป็นประโยชน์, จัดการค่าเริ่มต้น, และแม้กระทั่งสร้างข้อความช่วยเหลือโดยอัตโนมัติ

ยังมีแพ็คเกจ minimist ซึ่งเป็นทางเลือกที่เบากว่า yargs หากคุณชอบสไตล์มินิมอล

ลึกลงไป, Node.js ใช้ process.binding('options') ของ V8 สำหรับการวิเคราะห์ซึ่งไม่เปิดเผยให้ผู้ใช้ทั่วไป วิธีการภายในนี้มีประโยชน์มากมายภายใน, จัดการการวิเคราะห์และการเรียกคืนตัวเลือกบรรทัดคำสั่ง

ดูเพิ่มเติม