예시

// 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", "..");