[Do it! Node.js 입문] 08. express 설정

2024. 3. 30. 11:16·백엔드/Node.js

익스프레스(express)는 노드에 기반한 백엔드 프레임워크로, js를 사용해서 서버 개발을 할 때 적합하다. 

 

익스프레스의 주요 기능들

  • 라우팅
  • 미들웨어
  • 템플릿 엔진 (동적, ejs)
  • 정적인 파일 지원 (css, html)

 

작업 환경 만들기

1. 애플리케이션 정보를 담는 package.json 만들기

npm init

npm을 초기화하면 즉시 package.json을 만들 수 있다.

이때 entry point를 app.js로 설정해준다. (국룰이기 때문)

 

2. 익스프레스 패키지 설치

npm i express

npm i 또는 npm install 키워드를 사용하여 express를 설치한다.

설치가 끝나면 json파일에 현재 설치한 익스프레스 버전이 함께 표시된다.

 

3. 노드몬 설치

노드몬(nodemon)은 브라우저에서 서버를 리스닝하고 있다가 애플리케이션 파일이 수정되면 그 파일을 저장하고 서버를 자동으로 재시작 해준다. 

서버를 직접 종료하고 재시작하지 않아도 브라우저만 새로 고치면 변경 사항이 적용되어 나타난다.

npm i nodemon -g --save-dev

  • -g: 노드몬 패키지를 global하게 설치한다. 현재 작업 폴더뿐만 아니라 다른 작업 폴더에서도 노드몬을 사용할 수 있다.
  • --save-dev:  develop모드를 의미한다. 개발하는 동안에만 사용하고 애플리케이션 배포할 때는 포함되지 않도록 한다.

※ 윈도우에서 nodemon으로 js 파일을 실행할 때 오류가 난다면

powershell말고 command prompt로 바꿔서 실행해보자

 

4. 서버 시작하기

노드몬을 이용해 서버를 시작할 때는 'nodemond + 실행파일' 을 입력하면 된다. 

하지만 서버를 시작하는 스크립트를 따로 작성하면 더욱 편리하게 이용할 수 있다.

 

작업 폴더 안의 package.json 을 찾은 뒤 script에 start 코드를 추가해준다.

 "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon app.js"
  },

 

스크립트 명령은  npm명령과 함께 사용된다. 따라서 터미널 창에 npm start로 서버를 시작할 수 있다.

 

익스프레스 서버 만들기

//app.js
const express = require("express"); // 1
const app = express(); // 2
const port = 3000; // 3
 
app.get("/", (req, res) => { // 4
	res.status(200);
    res.send("Hello Node!");
});

app.listen(port, () => { // 5
	consol.log(`${port}번 포트에서 서버 실행 중`);
});
  1. 익스프레스 패키지를 가져온다.
  2. express를 실행하면 app이라는 서버가 만들어진다. app 객체에서는 익스프레스의 모든 기능을 사용할 수 있게 된다.
  3. 포트 번호를 port 변수에 따로 할당하였다.
  4. HTTP 요청은 GET, POST, PUT 등 여러가지가 있는데 그 중 GET 요청을 처리하려면 get함수를 사용한다.
    즉, 루드(/) 경로에서 GET요청을 하면 그 뒤에 오는 콜백 함수를 실행하라는 뜻이다.
  5. listen 함수는 지정한 포트로 요청이 들어오는지 리스닝한다. 요청이 들어오면 그 뒤에 오는 콜백 함수를 실행한다.

'백엔드 > Node.js' 카테고리의 다른 글

[Do it! Node.js 입문] 10. 미들웨어  (0) 2024.04.02
[Do it! Node.js 입문] 09. express 활용  (1) 2024.04.02
[Do it! Node.js 입문] 07. 비동기 작업 처리 방법  (0) 2024.03.28
[Do it! Node.js 입문] 06. IP 주소와 포트  (0) 2024.03.25
[Do it! Node.js 입문] 05. HTTP 이해하기  (0) 2024.03.25
'백엔드/Node.js' 카테고리의 다른 글
  • [Do it! Node.js 입문] 10. 미들웨어
  • [Do it! Node.js 입문] 09. express 활용
  • [Do it! Node.js 입문] 07. 비동기 작업 처리 방법
  • [Do it! Node.js 입문] 06. IP 주소와 포트
JYUN_
JYUN_
예비 개발자 성장기록
  • JYUN_
    데브 스토리
    JYUN_
  • 전체
    오늘
    어제
    • 분류 전체보기 (89) N
      • AWS & 클라우드 컴퓨팅 (1)
        • AWS (2)
      • AI & ML (17)
        • 딥러닝 (3)
        • 인공지능 기초 (2)
        • 자연어 처리 (3)
        • 컴퓨터 비전 (8)
      • CS 지식 (9)
        • 알고리즘 (1)
        • 자료구조 (4)
        • 지식확장 (1)
        • 컴퓨터 네트워크 (3)
      • 백엔드 (22)
        • Node.js (12)
        • Spring (9)
      • 웹 프론트엔드 (21)
        • HTML (3)
        • React (7)
        • 바닐라 JavaSctipt (11)
      • 코딩 테스트 & 문제 해결 (11) N
        • 코딩 테스트 연습 (10) N
        • 실전 문제 풀이 (1)
      • 트러블 슈팅 (1)
      • 기타 (4)
        • 개인 지식 관리 (1)
        • 외부 활동 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
JYUN_
[Do it! Node.js 입문] 08. express 설정
상단으로

티스토리툴바