Programming/Javascript / / 2022. 1. 27. 14:36

Uncaught SyntaxError: Cannot use import statement outside a module

728x90

Firefox : Uncaught SyntaxError: import declarations may only appear at top level of a module

Chrome : Uncaught SyntaxError: Cannot use import statement outside a module

파이어폭스랑 크롬에서 나오는 에러 메시지가 좀 다릅니다.

 

<script type="module" src="app.js"></script>

<script type="module">

import test from "./api/app.js";

</script>

이런 식으로 type="module"을 추가하시면 됩니다.

혹은 package.json 파일이 루트 경로에 있다면 "type": "module"을 추가해 주면 됩니다.

 

디폴트가 common.js라서 그렇다고 하니 import, export를 사용할 게 아니라면 굳이 변경 안 하셔도 됩니다.

참고로 모듈 같은 경우 프로토콜이 http, https여야만 실행이 됩니다. 이 말은 서버 아래에서 작동한다고 생각하시면 됩니다. 바탕 화면에 html 파일 만들어서 실행하면 프로토콜이 file:// 이런 식으로 됩니다. 이렇게 해서는 실행을 할 수가 없다는 의미입니다. 그러니 라이브 서버 같은 익스텐션 같은 걸 설치해서 실행하셔야 합니다.

반응형