__filename, __dirname [ node.js 교과서 ]
2023. 4. 10. 15:53ㆍnode.js
본 게시글은 node.js 교과서 강의를 듣고 정리한 글입니다.
- 노드는 __filename, __dirname 이라는 키워드로 경로에 대한 정보를 제공한다.
// filename.js
console.log(__filename);
console.log(__dirname);
실행결과
/Users/yunmun-yeol/Documents/test/filename.js
/Users/yunmun-yeol/Documents/test
- ES 모듈에서는 위의 방법이 작동하지 않는다.
- ES 모듈에서는 import.meta.url 로 경로를 가져올 수 있다.
// filename.mjs
console.log(import.meta.url);
console.log("__filename은 에러");
console.log(__filename);
실행 결과
file:///Users/yunmun-yeol/Documents/test/filename.mjs
__filename은 에러
file:///Users/yunmun-yeol/Documents/test/filename.mjs:5
console.log(__filename);
^
ReferenceError: __filename is not defined in ES module scope
at file:///Users/yunmun-yeol/Documents/test/filename.mjs:5:13
at ModuleJob.run (node:internal/modules/esm/module_job:193:25)
Node.js v19.6.1
'node.js' 카테고리의 다른 글
PM2 사용 (0) | 2023.06.24 |
---|---|
노드 내장 객체 : global [ node.js 교과서 ] (0) | 2023.04.10 |
다이나믹임포트 [ node.js 교과서 ] (0) | 2023.04.10 |
ECMAScript 모듈 [ node.js 교과서 ] (0) | 2023.04.10 |
캐싱 , require, 순환참조 [ node.js 교과서 ] (0) | 2023.04.10 |