운영체제의 종류에 따라서 경로 구분자가 다르다.

// app.js
const path = require('path');

// POSIX (Unix: Mac, Linux): 'Users/temp/myfile.html' -> /
// Windows: 'C:\\\\temp\\\\myfile.html -> \\

console.log(__dirname);
// D:\\3.FrontEnd\\node-app\\9_path
console.log(__filename);
// D:\\3.FrontEnd\\node-app\\9_path\\app.js

// 경로 구분자 (\\)
console.log(path.sep);
// 환경 변수 구분자 (:)
console.log(path.delimiter);

basename

console.log(path.basename(__filename)); // app.js
console.log(path.basename(__filename, '.js')); // app

dirname

console.log(path.dirname(__filename));
// D:\\3.FrontEnd\\node-app\\9_path

extname

console.log(path.extname(__filename));
// .js

parse

const parsed = path.parse(__filename);
console.log(parsed);
/*
{
  root: 'D:\\\\',
  dir: 'D:\\\\3.FrontEnd\\\\node-app\\\\9_path',
  base: 'app.js',
  ext: '.js',
  name: 'app'
}
*/
const { root, base } = path.parse(__filename);

format

const parsed = path.parse(__filename);
const str = path.format(parsed);
console.log(str);
// D:\\3.FrontEnd\\node-app\\9_path\\app.js

isAbsolute