| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- async/await
- Promise Chaining
- string
- css 정리
- 추상화 (abstraction)
- 참조자료형
- align-iitems
- 상속 (inheritance)
- 첫번째 미니 프로잭트
- 클래스 문법 구조
- 객체지향 프로그래밍 특징
- props비구조화 할당
- 조건문
- 재귀함수 탬플릿
- 재귀적으로 생각하기
- Math.floor()
- 문자열을 객체로 만드는법
- justfiy-content
- align-content
- Promise all
- 다형성 (polymorphism)
- 캡슐화 (encapsulation)
- probs.children
- class
- probs
- 화살표함수 기본 개념
- 얕은복사와 깊은 복사
- display
- flex-direction
- Instanc
- Today
- Total
희락코딩
Server - Express 본문
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에 대해 자세한 사항은 아래 주소에서 참고!
Express - Node.js web application framework
Fast, unopinionated, minimalist web framework for Node.js $ npm install express --save
expressjs.com
'프로그래밍 > 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 |