인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

nrlee님의 프로필 이미지

작성한 질문수

풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]

모던 웹을 위한 최신 Javascript 변수와 데이터 타입 이해

강의화면은 index.js인데 왜 샌드박스코드에서는 index.mjs인지 궁금해요

작성

·

58

0

index.mjs 를 index.js로 바꾸려면 어케해야하나요

답변 1

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. nrlee님.

index.mjsindex.js는 파일 확장자와 모듈 시스템의 차이에 관한 문제입니다. 일반적으로 .mjs 확장자는 ECMAScript 모듈(ESM)을 의미하고, .js는 CommonJS나 ESM 모두에 사용될 수 있습니다. 만약 .mjs 확장자로 되어 있는 파일을 .js로 변경하려면, 다음 사항을 고려해 보세요:

  1. 변경할 파일의 무결성 확보: 변경 전에 파일이 실행되거나 참조되는 모든 부분의 설정도 함께 확인이 되어야 합니다. 특히, 패키지 매니저나 서버 환경 설정이 ESM을 지원하는지의 여부입니다.

  2. Node.js 버전 확인: 최신 Node.js 버전은 기본적으로 ESM을 지원하지만, 이전 버전을 사용하는 경우에는 의존성 설정 및 패키지.json의 “type” 필드에 따라 다르게 작동할 수 있습니다.

  3. 변환 과정:

    • 파일 이름을 index.mjs에서 index.js로 바꿉니다.
    • 만약 importexport를 사용하고 계시다면, 이러한 구문이 사용하는 환경(브라우저 또는 Node.js)이 이를 지원해야 합니다.
    • package.json에서 "type": "module" 설정이 있다면, 이를 CommonJS 환경으로 돌아가는 경우 "type": "commonjs"로 변경합니다.

관련된 게시물 중에서 비슷한 변경 작업에 대해 설명한 자료는 다음 링크를 참조해 주세요:

이해를 돕고자 위의 사례를 참고하였으며, 적용 과정에서 필요한 환경설정에 대한 추가적인 조언을 받을 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

nrlee님의 프로필 이미지

작성한 질문수

질문하기