คำอธิบายวิธี:
รวมพารามิเตอร์หลายตัวลงในเส้นทางเดียว (ดูตัวอย่างสำหรับรายละเอียด)
ไวยากรณ์:
การคัดลอกรหัสมีดังนี้:
path.join ([path1], [path2], [... ])
เนื่องจากวิธีนี้เป็นของโมดูลพา ธ คุณต้องแนะนำโมดูลพา ธ ก่อนใช้งาน (var path = ต้องการ ("พา ธ ")))
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
path.join ('/foo', 'bar', 'baz/asdf', 'quux', '.. ')
// ส่งคืน
'/foo/bar/baz/asdf'
path.join ('foo', {}, 'bar')
// โยนข้อยกเว้น
TypeError: อาร์กิวเมนต์ไปยัง Path.join จะต้องเป็นสตริง
ซอร์สโค้ด:
การคัดลอกรหัสมีดังนี้:
// เวอร์ชัน Windows
exports.join = function () {
ฟังก์ชั่น f (p) {
if (! util.isstring (p)) {
โยน TypeError ใหม่ ('อาร์กิวเมนต์ไปยัง Path.Join จะต้องเป็นสตริง');
-
กลับ P;
-
var paths = array.prototype.filter.call (อาร์กิวเมนต์, f);
var เข้าร่วม = paths.join ('//');
// ตรวจสอบให้แน่ใจว่าเส้นทางที่เข้าร่วมไม่ได้เริ่มต้นด้วยสองสแลชเพราะ
// normalize () จะผิดพลาดสำหรับเส้นทาง UNC แล้ว
-
// ขั้นตอนนี้ถูกข้ามเมื่อเห็นได้ชัดว่าผู้ใช้จริง
// ตั้งใจที่จะชี้ไปที่เส้นทาง UNC สิ่งนี้จะถือว่าเมื่อคนแรก
// อาร์กิวเมนต์สตริงที่ไม่ว่างเปล่าเริ่มต้นด้วยสองสแลชตามด้วย
// อย่างน้อยหนึ่งตัวละครที่ไม่ใช่สแลช
-
// โปรดทราบว่าเพื่อให้เป็นปกติ () เพื่อรักษาเส้นทางเป็นเส้นทาง UNC ที่ต้องการ
// มีส่วนประกอบอย่างน้อย 2 ตัวดังนั้นเราจึงไม่กรองที่นี่
// ซึ่งหมายความว่าผู้ใช้สามารถใช้เข้าร่วมเพื่อสร้างเส้นทาง UNC จาก
// ชื่อเซิร์ฟเวอร์และชื่อแชร์; ตัวอย่างเช่น:
// path.join ('// เซิร์ฟเวอร์', 'แบ่งปัน') -> '/////////////////////////////// // server // share/')
if (!/^[////] {2} [^/////]/. ทดสอบ (พา ธ [0])) {
เข้าร่วม = เข้าร่วมการรีทรีย์ (/^[/////] {2,}/, '//');
-
ส่งออกส่งออก normalize (เข้าร่วม);
-