희락코딩

Server - Express 본문

프로그래밍/Server

Server - Express

Hello JoyCoding 2021. 5. 30. 14:51
728x90
반응형

Express

Express는 Node.js를 빠르고 간결하게 사용하기 위해 만들어진 웹 프레임워크입니다! 많이 사용하고 있는 프레임워크이니 꼭 알고 넘어 갑시다!@


Express 설치

$ npm install express

https://expressjs.com/ko/starter/installing.html

 

Express 설치

설치 Node.js가 이미 설치되었다고 가정한 상태에서, 애플리케이션을 보관할 디렉토리를 작성하고 그 디렉토리를 작업 디렉토리로 설정하십시오. $ mkdir myapp $ cd myapp npm init 명령을 이용하여 애플

expressjs.com

 


Express 사용

1
2
3
4
5
6
7
8
9
10
// express 기본 구조
 
const express = require('express')  // express 불러오기
const app = express()  // 불러운 express함수를 app 담아 쓰기
const port = 3000 
 
 
app.listen(port, () => {  // listen은 서버 대기라고 생각하면 됩니다.
  console.log(`Example app listening at http://localhost:${port}`)
})
 
cs

 

위에 있는 코드는 express를 사용하기 위한 기본 구조라고 생각하면 됩니다. 그리고 포트번호는 자유롭게 지정해도 무관합니다.

 

사용예제

1
2
3
4
5
6
7
8
9
10
11
const express = require('express')
const app = express()
const port = 3000
 
app.get('/', (req, res) => {
  res.send('joycoding!')
})
 
app.listen(port, () => {
  console.log('저는 대기 후 출력됩니다!')
})
 
cs

 

위코드를 실행시키면 터미널에는 "저는 대기 후 출력됩니다!"가 찍히고 브라우저에서는 "joycoding!"이 출력됩니다. 여기서 5,6번 줄은 기본적인 라우팅 입니다. get이라는 요청 메서드를 사용하였고 '/' 경로와 콜백함수 인자 req, res 를 사용합니다. (req, res 는 요청과 응답이라고 생각하면 됩니다) 6번줄의 res.send는 응답할 데이터를 보내줍니다.


 

Express 기본 라우팅

 

app.메서드(PATH, HANDLER)

 

app은 express의 인스턴스입니다.

메서드는 HTTP 요청 메소드 입니다. (Get, Post, Put, Delete)PATH는 서버에서의 경로입니다.HANDLER는 라우트가 일치할 때 실행되는 콜백 함수입니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// get
// 홈 페이지에서 Hello World!로 응답:
app.get('/'function (req, res) {
  res.send('Hello World!');
});
 
// post
// 애플리케이션의 홈 페이지인 루트 라우트(/)에서 POST 요청에 응답:
app.post('/'function (req, res) {
  res.send('Got a POST request');
});
 
// put
// /user 라우트에 대한 PUT 요청에 응답:
app.put('/user'function (req, res) {
  res.send('Got a PUT request at /user');
});
 
// delete
// /user 라우트에 대한 DELETE 요청에 응답:
app.delete('/user'function (req, res) {
  res.send('Got a DELETE request at /user');
});
 
cs

 


Express 정적 파일 제공

1
app.use(express.static('public'));
cs

 

이미지, CSS 파일 및 자바스크립트 파일과 같은 정적 파일을 제공하려면 미들웨어 함수인 express.static을 사용하면 됩니다. 여기서 'public'은 하나의 디렉토리 파일이고 이폴더 안에 html, css, js파일이 들어 있다라고 생각하면 됩니다.

 

1
app.use('/static', express.static(__dirname + '/public'));
cs

 

더 좋은 방법으로는 __dirname + 절대경로를 활용해서 사용하면 더 안정적으로 파일을 불러 올수 있습니다. 위와 같은 방법으로 파일을 불러오는 것을 권장합니다!

 


 

Express에 대해 자세한 사항은 아래 주소에서 참고!

 

https://expressjs.com/

 

Express - Node.js web application framework

Fast, unopinionated, minimalist web framework for Node.js $ npm install express --save

expressjs.com

 

728x90
반응형

'프로그래밍 > Server' 카테고리의 다른 글

server - Express로 upper / lower 구현하기 복기  (2) 2021.05.30
Server - CORS  (2) 2021.05.27
Server - HTTP (Hyper Text Transfer Protocol)  (0) 2021.05.21
Comments