예시
// ts-node 실행 환경
process.cwd() : C:\\Users\\username\\project-root
process.env.INIT_CWD : C:\\Users\\username\\project-root
require.main.path : C:\\Users\\username\\project-root\\src
require.main.filename: C:\\Users\\username\\project-root\\src\\app.ts
__dirname : C:\\Users\\username\\project-root\\src\\current-dir
__filename : C:\\Users\\username\\project-root\\src\\current-dir\\current-file.ts
module.filename : C:\\Users\\username\\project-root\\src\\current-dir\\current-file.ts
// nodejs 빌드 환경
process.cwd() : C:\\Users\\username\\project-root
process.env.INIT_CWD : C:\\Users\\username\\project-root
require.main.path : C:\\Users\\username\\project-root\\dist
require.main.filename: C:\\Users\\username\\project-root\\dist\\app.js
__dirname : C:\\Users\\username\\project-root\\dist\\current-dir
__filename : C:\\Users\\username\\project-root\\dist\\current-dir\\current-file.js
module.filename : C:\\Users\\username\\project-root\\dist\\current-dir\\current-file.js
해당 파일이 존재하는 디렉토리
__dirname
해당 파일의 경로
__filename
메인 스크립트 파일이 실행되는 디렉토리
require.main.path
메인 스크립트 파일 경로
require.main.filename
디렉토리의 상위 경로
import * as path from "path";
path.resolve("current/path", "..");