본문 바로가기
NodeJs

SyntaxError: Cannot use import statement outside a module

by 향각산 2021. 9. 27.

첫번째 에러 : Error: Cannot find module 'express'  

해결 : npm install

두번째 에러 : SyntaxError: Cannot use import statement outside a module

해결 - package.json에 "type":"module" 추가 후 npm install (밑에 스샷있음)

 

동영상 강의를 따라하던 중 간단한 노드js 코드를 작성했다.

옛날에 웹 개념이 없을때 Nodejs 맛보기를 했던거같은데, 다시보니 너무간단해서 놀랐다.......

문제는 이렇게 간단한게 실행에러가 난다...

 

평소에 하듯이 무지성 npm start를 했을뿐인데 

internal/modules/cjs/loader.js:892
  throw err;
  ^

Error: Cannot find module 'express'

이런 에러가 발생했다. 생각해보니까 npm  install을 안해준거같아서 npm install 진행.

역시 잘된다. 이런 결론을 내려던것은 아니다.

 

vscode에서 require를 봤더니 다음과 같은 조언이 나타났다.

사실 ES6가 뭔지 잘 모르는데 찾아보니까 자바스크립트의 버전이라고 생각하면 되는거같다.

당연히 모듈로 변환

 

다음과 같이 이쁘게 바뀐다. 그 후 다시 한번 npm install, npm start를 차례대로 했다.

결론은 에러.. SyntaxError: Cannot use import statement outside a module

 

해결방법은 package.json에 다음과 같이 한줄 추가해주는것이다. 

 

추가하고 다시한번 npm run을 하면 문제없이 동작한다.

nodeJs 강의가 아닌데, 코드가 너무 간단해서 실행한번 하려다가 이상한길로 빠졌다.