일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 상속 (inheritance)
- 참조자료형
- Promise Chaining
- align-iitems
- 클래스 문법 구조
- Promise all
- 캡슐화 (encapsulation)
- probs.children
- css 정리
- align-content
- 다형성 (polymorphism)
- Math.floor()
- 재귀함수 탬플릿
- 얕은복사와 깊은 복사
- 조건문
- 화살표함수 기본 개념
- Instanc
- flex-direction
- 문자열을 객체로 만드는법
- 재귀적으로 생각하기
- display
- 첫번째 미니 프로잭트
- string
- justfiy-content
- 객체지향 프로그래밍 특징
- class
- async/await
- 추상화 (abstraction)
- probs
- props비구조화 할당
- Today
- Total
희락코딩
Server - Express 본문
Express
Express는 Node.js를 빠르고 간결하게 사용하기 위해 만들어진 웹 프레임워크입니다! 많이 사용하고 있는 프레임워크이니 꼭 알고 넘어 갑시다!@
Express 설치
$ npm install express
https://expressjs.com/ko/starter/installing.html
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에 대해 자세한 사항은 아래 주소에서 참고!
'프로그래밍 > 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 |