filename.mjs
console.log(import.meta.url);
console.log('__filename은 에러');
console.log(__filename);
콘솔
$ node filename.mjs
file:///C:/Users/zerocho/filename.mjs
__filename은 에러
file:///C:/Users/zerocho/filename.mjs:3
console.log(__filename);
^
ReferenceError: __filename is not defined in ES module scope
(생략)
CommonJS 모듈에서 사용했던 require 함수나 module 객체는 따로 선언하지 않았음에도 사용할 수 있었습니다. 이것이 어떻게 가능할까요? 바로 노드에서 기본적으로 제공하는 내장 객체이기 때문입니다. 다음 절에서는 내장 객체를 자세히 알아보겠습니다.