> 웹 프론트엔드 > JS 튜토리얼 > Node.js에서 'SyntaxError: 모듈 외부에서 import 문을 사용할 수 없습니다'라는 메시지가 나타나는 이유는 무엇입니까?

Node.js에서 'SyntaxError: 모듈 외부에서 import 문을 사용할 수 없습니다'라는 메시지가 나타나는 이유는 무엇입니까?

DDD
풀어 주다: 2024-12-05 03:30:13
원래의
455명이 탐색했습니다.

Why Am I Getting a

"SyntaxError: 모듈 외부에서 import 문을 사용할 수 없습니다." 설명 및 해결됨

Node.js 프로젝트에서 "SyntaxError: Cannot 모듈 외부에서 import 문 사용"이라는 메시지는 ES 모듈로 인식되지 않는 파일에서 import 문을 사용하고 있음을 나타냅니다. 이 문제는 최신 버전의 Babel 또는 Node.js로 업그레이드할 때 흔히 발생합니다.

문제 이해

Babel 7에서 기본 동작은 파일을 해석하는 것입니다. .js 확장자를 CommonJS 모듈로 사용합니다. 반면 ES 모듈은 가장 가까운 package.json 파일에서 "type" 필드를 "module"로 설정하거나 .mjs 확장자를 사용하여 명시적으로 이름을 지정해야 합니다.

오류 해결하기

이 오류를 해결하는 데는 두 가지 옵션이 있습니다.

옵션 1: "type"을 다음으로 설정합니다. package.json의 "module"

package.json 파일에 다음 "type" 필드를 추가하세요.

// package.json
{
  "type": "module"
}
로그인 후 복사

이렇게 하면 모든 .js 및 .mjs 파일이 다음과 같이 해석됩니다. ES 모듈이지만 .cjs 확장자를 사용하여 개별 파일을 여전히 CommonJS로 해석할 수 있습니다.

옵션 2: .mjs 확장자를 명시적으로 사용

ES 모듈로 처리되어야 하는 파일의 이름을 명시적으로 .mjs 확장자로 지정하세요. .js 확장자를 가진 다른 모든 파일은 기본적으로 CommonJS로 해석됩니다.

추가 고려 사항

  • 최신 버전의 Node.js가 설치되어 있는지 확인하세요. (13.2.0 권장).
  • 이전에 Babel 6을 사용하셨다면 업데이트가 필요합니다. 추가 오류를 방지하려면 사전 설정을 사용하세요.
  • 호환성을 유지하려면 프로젝트 전체에서 ES 모듈이나 CommonJS 모듈을 일관되게 사용하는 것이 중요합니다.

위 내용은 Node.js에서 'SyntaxError: 모듈 외부에서 import 문을 사용할 수 없습니다'라는 메시지가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿