inflearn logo
강의

Course

Instructor

[Revised 3rd Edition] Node.js Textbook - From Basics to Project Practice

Creating an HTTP Server

4강 http 서버 만들때 ESM방식으로 해도 될까요?

78

SangMin Lee

1 asked

0

{
  "name": "package-manager",
  "version": "1.0.0",
  "main": "app.js",
  "license": "MIT",
  "type": "module",
  "dependencies": {
    "express": "^5.1.0"
  }
}

package.json 에 type: "module" 넣고

import express from "express";

const app = express();
const PORT = 3000;

요런식으로 해도 괜찮겠죠?!

node.js mysql mongodb express typescript socket.io jwt

Answer 2

0

zerocho

네, 높은 버전 node.js를 하신다면 esm 방식으로 코딩하셔도 됩니다!

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. SangMin Lee님.

Node.js에서 ESM(ECMAScript Modules) 방식으로 모듈을 import하는 것은 최신 Node.js 버전에서 점점 보편화되고 있는 방법입니다. 따라서 package.json"type": "module"을 추가하여 ESM 방식으로 설정하신 후, 다음과 같이 모듈을 import하는 방식은 올바른 설정입니다.

import express from "express";

const app = express();
const PORT = 3000;

app.listen(PORT, () => {
  console.log(`Server is running on port ${PORT}`);
});

이렇게 하면 ESM 방식으로 모듈을 불러오는데 무리가 없습니다. 다만, 몇 가지 주의해야 할 사항들:

  1. Node.js 버전 확인: 최신 Node.js 버전에서는 ESM을 기본적으로 지원하지만, 구 버전에서는 호환되지 않을 수 있습니다. Node.js 12 이상 버전을 사용하는 것이 좋습니다.

  2. 확장자: ESM 방식에서는 파일 확장자를 명시해야 할 때가 있습니다. 예를 들어, import 문에서 디렉토리가 아닌 파일을 지정할 경우 확장자를 포함해야 합니다.

  3. 호환성: 모든 Node.js 패키지가 ESM을 지원하는 것은 아니므로, 사용하는 패키지가 ESM과 호환되는지 확인이 필요합니다.

관련된 더 깊은 설명과 경험담을 찾고 싶으시다면, 다음의 게시판 질문들을 참조하셔도 도움이 될 것입니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

깃헙 질문

0

79

2

강의 1-1 수업노트의 로드맵 링크가 작동하지 않습니다.

0

74

1

aws - lightsail 이용 관련

0

56

1

모듈 사용 시 단점이 있나요?

0

79

1

node.js 버전 및 typescript 적용 문의

0

91

2

12.7. 방장기능(강퇴) 질문드립니다.

0

78

2

12.7 socket.js코드 그대로 뱃겨서 했는데, socket.request.session.color가안나오네요

0

67

1

12.7 코드 그대로 뱃겨서 햇는데 스샷같이 오류가뜹니다.

0

73

2

12.7.1스스로 해보기 질문되나요

0

89

3

시퀄라이즈 실습하기 질문드립니다.

0

186

9

<7-5. 시퀄라이즈 사용하기>수업 질문 드립니다.

0

94

2

크롬에서 user id를 인풋에 입력하고 등록하면 404 에러처리 페이지가 뜹니다.

0

109

2

구매 결제관련 질문입니다 !

0

120

1

다수의 supertest 가 실행될 때 force:true로 인한 DB 초기화 문제

0

130

2

node 설치 방법이 전혀다르게 바뀐것 같습니다.

0

147

2

12강 깃허브에 있는 12.7 chat.html 복붙했는데 css오류

0

119

2

무료/프리미엄 동시 소유 시 질문

0

113

1

비주얼 스튜디오 코드로 계속 진행해도 괜찮을까요?

0

133

2

10강 cors에러 localhost:4000으로 접속했을때 에러

1

155

2

webstorm 해결할 수 없는 변수 문제

0

152

2

혹시 몽고DB 쓸거면 MySQL 강의 스킵해도 되나요?

0

146

2

LightSail 실행 중 오류 질문드립니다!

0

198

2

RedisStore 사용법 질문

0

129

2

윈도우 파일탐색기 주소창에서 cmd를 입력할 경우 해당 경로로 바로 cmd를 열 수 있습니다.

2

183

2