express 공부 1 - (서버 열기, app.get, res, req)

2023. 1. 31. 12:22gongbu

Express

- Node.js에서 동작하는 웹개발 프레임웤

- Node.js 이용 쉬운 서버구성 위한 라이브러리

 

기본

- req = 요청개체

- res = 응답개체

- next = 다음 미들웨어 기능

- 미들웨어 = 분산 컴퓨팅 환경에서 서로 다른 기종의 하드웨어나 프로토콜, 통신환경 등을 연결하여, 응용프로그램과

                   그 프로그램이 운영되는 환경 간에 원만한 통신이 이루어질 수 있게 하는 소프트웨어를 말한다.

- 라우트 = 클라이언트의 요청을 위한 URL 스키마

- 라우팅 = URL 요청에 따라 앱의 응답방식 결정(보통 get, post, put, delete 가 있음)

 

서버 열기 예제

vscode 깔고 폴더 아무거나 열어서 터미널 열기

npm init
npm install express
node app.js//실행

터미널에서

npm init

입력

 

실행 안되면 환경변수로 npm 위치 path에 넣어주기
그래도 안되면 터미널 설정 바꾸기(Ctrl+Shift+P)(Terminal:Select Default Profile > Command Prompt)

 

그다음

npm install express

 

다음 app.js 파일 생성해서 코드 작성

//app.js
const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res)=>{
    res.send('Hello World!');//화면에 뜨는 글자(보내지는 내용)
});
//클라이언트에서 http 요청 메소드 중 get을 이용해 'host:port'로
//요청을 보내면 실행되는 라우트

app.listen(port, ()=>{
    console.log(`sever starting...http://localhost:${port}`);
})
//app.listen()함수 사용, 서버실행
//클라이언트는 'host:port'로 노드서버에 요청을 보낼수 있다

작성후 터미널에서 node app.js 

입력하고 주소창에 localhost:3000 치면 

helloworld!

출력

 

get으로 호출 put으로 업뎃

 

app.get - get 으로 보내기 (path 추가)

app.get('/hi', function(req, res){//'/hi'로 매핑
	res.send("hihi");
   });
   //localhost:port/hi라는 위치에 hihi보내기

 

추가

res.send("text") : 문자열로 응답
res.json() : 제이슨(Json) 객체로 응답
res.render() : 제이드 템플릿을 렌더링
res.sendfile() : 파일 렌더링
res.redirect(url) : url로 리다이렉트
res.end() : 보낼 데이터가 없을때 응답 종료
res.status() : 200, 404,500 등 statusCode 리턴
res.links()
res.cookie()
res.type()
res.set()
 
req.get/post/put/delete : 요청 파라미터
req.query : get요청 파라미터의 정보
req.params(user) : 주소에 /:user/:pw 처럼 설정된 값 가져옴
req.headers
req.route
req.cookies
req.ip
req.host
req.url
req.protocol