인프런 커뮤니티 질문&답변
강의화면은 index.js인데 왜 샌드박스코드에서는 index.mjs인지 궁금해요
작성
·
124
0
index.mjs 를 index.js로 바꾸려면 어케해야하나요
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. nrlee님.
index.mjs와 index.js는 파일 확장자와 모듈 시스템의 차이에 관한 문제입니다. 일반적으로 .mjs 확장자는 ECMAScript 모듈(ESM)을 의미하고, .js는 CommonJS나 ESM 모두에 사용될 수 있습니다. 만약 .mjs 확장자로 되어 있는 파일을 .js로 변경하려면, 다음 사항을 고려해 보세요:
변경할 파일의 무결성 확보: 변경 전에 파일이 실행되거나 참조되는 모든 부분의 설정도 함께 확인이 되어야 합니다. 특히, 패키지 매니저나 서버 환경 설정이 ESM을 지원하는지의 여부입니다.
Node.js 버전 확인: 최신 Node.js 버전은 기본적으로 ESM을 지원하지만, 이전 버전을 사용하는 경우에는 의존성 설정 및 패키지.json의 “type” 필드에 따라 다르게 작동할 수 있습니다.
변환 과정:
- 파일 이름을
index.mjs에서index.js로 바꿉니다.
- 만약
import및export를 사용하고 계시다면, 이러한 구문이 사용하는 환경(브라우저 또는 Node.js)이 이를 지원해야 합니다.
package.json에서"type": "module"설정이 있다면, 이를 CommonJS 환경으로 돌아가는 경우"type": "commonjs"로 변경합니다.
- 파일 이름을
관련된 게시물 중에서 비슷한 변경 작업에 대해 설명한 자료는 다음 링크를 참조해 주세요:
- babel.js 적용 후 개발자 도구에서 main.js 보이지 않는 현상 - 이 게시물에서는 Babel 설정으로 인한 JavaScript 파일 변환 문제를 다루고 있습니다.
이해를 돕고자 위의 사례를 참고하였으며, 적용 과정에서 필요한 환경설정에 대한 추가적인 조언을 받을 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.




