SyntaxError: Cannot use import statement outside a module

jplendor·2022년 7월 6일
0

배포 & https 프로토콜 적용 연습을 위해 프로젝트 세팅을 하고 있다.

항상 프로젝트에서 프론트엔드만 담당하다가 백엔드 서버를 처음으로 세팅해본다!

문제 상황

http://expressjs.com/en/starter/hello-world.html
express 공식 홈페이지에서 app 시작하는 코드를 가져와서 썼는데,

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

es6부터 import/export 키워드로 모듈을 불러올 수 있는데 왜 require을 쓰고 있지?라는 생각이 들어서 바로 바꿨다.

그랬더니!!! 아래와 같은 Syntax Error가 발생했다.

해결 방법

package.json에 "type": "module" 추가해주기

기본 모듈 처리방식은 "type": "commonjs"이기 때문에
"type": "module"을 넣어서 es6 방식을 쓴다고 설정해줘야한다.

  • require: NodeJS에서 사용되고 있는 CommonJS 키워드
  • import: ES6(ES2015)에서 새롭게 도입된 키워드
profile
만들기는 재밌어!

0개의 댓글