console.log(__dirname);
파일명을 제외한 현재 노드를 실행하는 파일의 절대경로가 나온다.
하지만 CommonJS가 아닌 ES6의 "type": "module"
를 사용할 경우 다음과 같은 에러가 발생한다.
ReferenceError: __dirname is not defined
ES모듈에는 __dirname
변수가 없어서 다음과 같이 __dirname변수를 만들어줘야한다.
import path from 'path';
import { fileURLToPath } from 'url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
console.log(__dirname);