운영체제의 종류에 따라서 경로 구분자가 다르다.
// 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);
console.log(path.basename(__filename)); // app.js
console.log(path.basename(__filename, '.js')); // app
console.log(path.dirname(__filename));
// D:\\3.FrontEnd\\node-app\\9_path
console.log(path.extname(__filename));
// .js
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);
const parsed = path.parse(__filename);
const str = path.format(parsed);
console.log(str);
// D:\\3.FrontEnd\\node-app\\9_path\\app.js