ES6 모듈 지원을 위한 Node.js 계획: 심층 조사
Node.js JavaScript 런타임 환경은 오랫동안 CommonJS 모듈을 지원해 왔습니다. 외부 코드를 로드하기 위한 것입니다. 그러나 ES6(ECMAScript 2015)의 출현과 함께 기본 모듈 지원이 도입되면서 Node.js가 가져오기/내보내기 모듈을 수용할 것인가?
Node.js 13.2.0 및 Beyond
Node.js 13.2.0부터 실험적 플래그가 필요하지 않은 ES 모듈 지원이 도입되었습니다. ECMAScript 모듈(ESM) 지원을 활성화하려면 package.json 파일을 다음과 같이 설정해야 합니다.{ "type": "module" }.js, .mjs가 있거나 확장자가 없는 모든 파일은 ESM으로 처리됩니다. ES 모듈을 활성화하는 대체 방법도 사용할 수 있으며 릴리스 노트에 설명되어 있습니다.
Node.js 13.1.0 및 이전 버전
이전 Node.js 버전의 경우 [esm](https://github.com/standard-things/esm) 모듈 로더는 ES 모듈의 프로덕션 준비 구현을 제공합니다:node -r esm main.js
역사적 개발 타임라인
2019년 4월 23일
ECMAScript 모듈에 대한 감지 메커니즘 업데이트가 통합되어 package.type(모듈 또는 commonjs)에 대한 옵션과 진입점을 지정하는 새로운 옵션이 도입되었습니다. 유형 및 모듈 지정자 해결.2019년 1월 17일
Node.js 11.6.0에는 ES 모듈이 실험적 기능으로 포함되었으며 다음 플래그를 사용하여 활성화되었습니다.
node --experimental-modules index.mjsv10.0 LTS 릴리스에서 이 플래그를 제거할 계획이었습니다.
2017년 9월 13일
Node.js 8.5.0이 추가되었습니다. .mjs 파일 지원, 플래그 뒤에서 액세스 가능:node --experimental-modules index.mjs원래 의도는 v10.0 LTS 릴리스에서 이 플래그를 제거하는 것이었습니다.
2017년 9월 8일
ESM 모듈에 대한 초기 지원이 Node.js 마스터 브랜치에 추가되어 --experimental-modules 플래그 뒤에서 액세스할 수 있게 되었습니다.2017년 2월
Node.js 팀은 CommonJS와 ES 모듈이 공존할 수 있도록 방해를 최소화하는 솔루션으로 .mjs 파일 확장자를 사용하기로 결정했다고 발표했습니다. 구현에는 최소 1년이 걸릴 것으로 예상됩니다.2016년 10월
TC-39 회의 후 Node.js 개발자는 ES 모듈 구현에 따른 과제를 설명했습니다. 주요 문제에는 정적 분석과 동적 분석, 원숭이 패치 및 모듈 감지가 포함되었습니다. *.mjs 확장자를 사용하는 것이 가능한 해결책으로 나타났습니다.2016년 이전
Node.js의 ES 모듈 지원에 대한 논쟁은 오랫동안 지속되어 왔습니다. 상당한 기간. 새로운 사양을 수용하면서 Node.js와 HTML의 다양한 요구 사항을 해결하기 위한 다양한 제안과 토론이 이루어졌습니다.위 내용은 Node.js는 ES6 모듈에 대한 지원을 어떻게 발전시켰나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!