[ TIL ] express 로 서버 생성

Gorae·2021년 7월 10일
0

(TIL) Node.js

목록 보기
1/5
post-thumbnail

Node.js

  • 자바스크립트 런타임 환경.
  • 브라우저에 내장되어 있던 javascript 를 브라우저에서 분리하여, 프로그래밍 언어처럼 쓸 수 있게 만든 것.
  • node.js 를 알면 javascript 로 백엔드를 구사할 수 있게 되는 것!

npm(Node.js Package Manager)

  • 사용 가능한 패키지들을 검색하여 설치 및 버전 관리가 가능한 프로그램.
  • yarn과 비슷하지만, node.js를 설치하면서 같이 설치된다는 점에서 차이가 있다.

nodemon

  • npm 통해 설치 가능, 파일 변경 사항 감지 후 자동으로 서버를 재시작해주는 모듈.
  • nodemon과 서버를 종료하려면 컨트롤/커맨드 + C 하면 됨.

express로 서버 만들기

https://expressjs.com/ko/4x/api.html#app

  • express란? Node.js를 위한 프레임워크
  • 서버란? 24시간 내내 켜져있는 컴퓨터. request를 기다린다. 요청을 듣고 응답하는 것!
  • request란? 사이트에 접속하거나, sns로 메세지를 보내거나, 영상을 클릭하는 등, 서버와 상호작용하는 모든 일을 뜻함.
// babel을 이용하면 최신 문법을 사용해도 컴퓨터가 알아듣게 할 수 있다.
import express from “express”;
// express() 를 사용하면 express application을 생성함.
// 서버가 생성된 것!
const app = express();

const handleListening = () => console.log(“Server listening on port 포트번호”);

// listen() 이란 콜백함수를 사용하여, 서버가 요청을 기다리게 함.
app.listen(포트번호, handleListening);

생성된 서버의 활용

import express from “express”;
// 서버 생성
const app = express();

// 서버 생성 후에 애플리케이션 설정
app.get(/, (req, res) => {
    res.send(“hello world”);
    return res.end();
});

// 외부 접속을 listen, 외부에 오픈
app.listen(포트번호, () => console.log(“Server listening on port 포트번호”));

middleware

  • 미들웨어는 작업을 다음 함수에게 넘기는 함수로, req, res 뿐만 아니라 next를 가진다.(next()로 다음 함수 호출)
  • 미들웨어는 request에 응답하는 것이 아니라, request를 지속시키는 것.
  • 미들웨어는 원하는 만큼 넣을 수 있음.
  • 모든 controller는 미들웨어가 될 수 있음.
  • 모든 미들웨어는 라우트 전에 위치해야 함.
app.use(미들웨어); // app.get() 보다 먼저 위치하여 전역적인 미들웨어 사용이 가능
app.get(/, 미들웨어, 미들웨어…); // “/” route에만 미들웨어를 적용 
profile
좋은 개발자, 좋은 사람

0개의 댓글