본문 바로가기
Error

[javascript] Uncaught SyntaxError: Cannot use import statement outside a module

by 지구 2021. 1. 7.
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <script src="/static/js/exportScript.js"></script>
    <title>기본 HTML</title>
</head>

<body onload="onBodyLoad();">
<script type="text/javascript">
    function onBodyLoad() {
        exportScript.consoleTest();
    }
</script>
</body>
</html>

별 특별한게 없는 기본 HTML 파일에서

webpack 으로 말아서 올린 exportScript.js 에 있는 `consoleTest()` function 을 쓰고자 하니까 아래와 같은 오류가 발생했다.

 

에러 메세지 그대로, 외부에 있는 module 을 사용할 수 없다는 뜻이었고.

해결은 CDN 선언부에서 script type 을 "module" 로 지정해주니까 되었다.

<!-- before -->
<script src="/static/js/exportScript.js"></script>

<!-- after -->
<script type="module" src="/static/js/exportScript.js"></script>

 

덧, exportScript.js 는 window 에 event 바인딩이 되지 않아서 맨 밑에 저 라인까지 추가해주었다. 

export let exportScript = {
	...
};
window.exportScript = exportScript;

 

반응형

댓글