[node.js] routing/express

Hyo Kyun Lee·2021년 6월 7일
0

node.js

목록 보기
5/34

1. 기초개념

  • node.js는 웹페이지 서버가 사용자의 요청을 받고 이에 대해 응답하도록
    로직을 구현하는 것이 핵심이다.

  • Routing
    사용자 request인 get/post 등에 대해 웹어플리케이션(웹페이지)가 응답하는 방식, (response)을 정의하는 과정을 일컫는다.
    넓게 말하면 요청/응답이 이루어지는 일련의 과정을 말한다.
    express의 인스턴스(객체)를 이용하여 해당 메소드/request url이 부합한 요청이 왔을때, 이에 대한 응답을 (template view) 실행한다(=Routing이 일치할때 응답실행)

  • Express
    이때 사용하는 app의 인스턴스는 Express prototype을 참조한다. 즉 Express 라이브러리를 사용하여 해당 속성을 넘겨받는데, 서버요청 및 응답 등 Routing에 대한 과정은 Express 라이브러리가 핵심이기때문에 Express 메소드가 중요하다.
    웹서버를 구성할때 express 모듈을 사용하면 간결한 로직이 가능하기때문에, 필수적으로 사용된다.

2. 코드예시

app.method('url', (req, res)=>{res.logic})
이때 app은 express의 객체(인스턴스)

Express 메소드없이 웹페이지 구현하기

//프레임워크없이 웹서버만들기
//request를 받고 response를 준다

const http = require("http");

//해당 객체에 접근, 인자가 함수 자체
//http.createServer().listen(3000)가 서버를 띄우는 큰 틀 (port = 3000)
//사용자 인터페이스에 해당하는 인자를 적어주고, 이는 함수로 되어있음
//request와 response를 인자로 하는 함수는, response를 작성하여 출력

//응답성공시(200) -> 문서상단(Head) 및 type 지정문구
//response.write _ Hello Server라는 string 출력
//응답로직끝
//응답을 나타내주는 port 지정

http
  .createServer((request, response) => {
    response.writeHead(200, { "Content-Type": "text/plain" });
    response.write("Hello Server");
    response.end();
  })
  .listen(3000);

Express 메소드를 이용하여 웹페이지 구현하기

const express = require("express");
const { a } = require("../Grammer/module_export");

//express 내장모듈에서 app함수를 가져오기.
const app = express();
const port = 3000;

//app함수에서 url요청을 받고 이후에 함수 로직이 실행되도록 설정
//req, res를 통해 사용자에게 보여주도록 설정
//사용자 출력 설정

app.get("/hyokyun", (req, res) => {
  res.send("hello express");
});

// 웹서버 로직 구성
// 여기서는 port가 잘 설정되었는지 확인
// 포트 등
app.listen(port, () => {
  console.log("Express listened on port No", port);
});

//node http_response.js
//package.json의 script에서 별도 설정시 npm ~ 입력 안해도 됨

3. 참조링크

https://expressjs.com/ko/starter/basic-routing.html
https://jeonghwan-kim.github.io/express-js-2-%EB%9D%BC%EC%9A%B0%ED%8C%85/

4. remind

코드에 대한 이해가 우선이다. sugar syntax보다는 sugar logic!

0개의 댓글