Dark mode
path
path เป็นโมดูลในตัวของ Node.js ที่ใช้สำหรับจัดการและแปลงเส้นทางไฟล์
import { join, resolve, basename, dirname, extname, parse, format } from 'node:path';
API | คำอธิบาย | ลักษณะ | คำอธิบายเพิ่มเติม |
---|---|---|---|
join() | รวมส่วนของเส้นทาง | Synchronous | รวมส่วนของเส้นทางด้วย separator ของระบบ |
resolve() | แก้ไขเส้นทางให้สมบูรณ์ | Synchronous | แก้ไขเส้นทางแบบ absolute path |
basename() | ชื่อไฟล์จากเส้นทาง | Synchronous | ดึงส่วนชื่อไฟล์จากเส้นทาง |
dirname() | ไดเรกทอรีจากเส้นทาง | Synchronous | ดึงส่วนไดเรกทอรีจากเส้นทาง |
extname() | นามสกุลไฟล์จากเส้นทาง | Synchronous | ดึงส่วนนามสกุลไฟล์จากเส้นทาง |
parse() | แยกส่วนประกอบของเส้นทาง | Synchronous | คืนค่าเป็น object ที่มี root, dir, base, ext, name |
format() | รวม object เป็นเส้นทาง | Synchronous | รวม object จาก parse() กลับเป็นเส้นทาง |
ตัวอย่าง
การใช้ join และ resolve
javascript
import { join, resolve } from "node:path";
// รวมเส้นทาง
const fullPath = join("folder", "subfolder", "file.txt");
console.log("เส้นทางที่รวมแล้ว:", fullPath);
// Output (Windows): folder\subfolder\file.txt
// Output (Linux/Mac): folder/subfolder/file.txt
// แก้ไขเส้นทางให้สมบูรณ์
const absolutePath = resolve("folder", "file.txt");
console.log("เส้นทางแบบสมบูรณ์:", absolutePath);
// Output: C:\Users\username\folder\file.txt (Windows)
// หรือ /home/username/folder/file.txt (Linux/Mac)
การดึงส่วนต่างๆ ของเส้นทาง
javascript
import { basename, dirname, extname } from "node:path";
const filePath = "/home/user/docs/report.txt";
console.log("ชื่อไฟล์:", basename(filePath)); // 'report.txt'
console.log("ไดเรกทอรี:", dirname(filePath)); // '/home/user/docs'
console.log("นามสกุลไฟล์:", extname(filePath)); // '.txt'
การใช้ parse และ format
javascript
import { format, parse } from "node:path";
const parsed = parse("/home/user/docs/report.txt");
console.log(parsed);
/* ผลลัพธ์:
{
root: '/',
dir: '/home/user/docs',
base: 'report.txt',
ext: '.txt',
name: 'report'
}
*/
const formatted = format(parsed);
console.log(formatted); // '/home/user/docs/report.txt'
การใช้งานกับไฟล์จริง
javascript
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
// ดึงเส้นทางปัจจุบัน
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
console.log("ไดเรกทอรีปัจจุบัน:", __dirname);
// Output: /path/to/current/directory
// สร้างเส้นทางไปยังไฟล์ config
const configPath = join(__dirname, "config.json");
console.log("เส้นทาง config:", configPath);
// Output: /path/to/current/directory/config.json