Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- nodejs http
- #{}
- 알고리즘
- git message
- it지원
- ${}
- cmd mariaDB
- $('input [name=
- MariaDB
- map형태 jsp와 mapper
- bubblesort
- REST
- a href="#" onclick="return false"
- resultType="hashmap"
- interface default
- git
- 전역객체
- $(document).on
- 자바 로또
- git 명령어
- 유효성
- SQL
- templet
- 최대값 최소값
- container-fluid
- 포워드 엔지니어링
- 자바 예상문제
- nodejs
- gradle 설치
- BCrypt
Archives
- Today
- Total
Rubberduck-Debugging
nodeJS express 본문
1. Express 소개
-경량 HTTP 웹 프레임워크
--요청과 응답
--미들웨어 사용
--템플릿 엔진
-설치
npm install express
2. Express 생성 및 시작
- var express = require('express');
- var app = exspress();
- app.listen(3000);
3. Http 모듈 서버와 Express 사용하기
var http = require('http');
var express = require('express');
var app = express();
http.createServer(app).listen(3000);
4. Express 미들웨어
-요청 분석 , 처리하는 모듈
-여러 개의 미들웨어로 구성
미들웨어 사용 설정
-app.use(미들웨어)
- app.use(function(req,res){
res.send('Express');
});
5. Express 라우팅 (routing)
-요청 -> 요청 처리 미들웨어로 분배
-HTTP Method 별로 라우팅
-URL 경로 별로 라우팅
* 라우팅 (method 별로)
// GET 요청 - Hello Express로 응답
app.get('/', function (req, res) {});
// POST 요청 - 응답
app.post('/', function (req, res) {});
* 라우팅(경로 별로)
// /user 경로에 GET 요청 - 응답
app.get('/user', function (req, res) {});
// /items 경로에 GET 요청 - 응답
app.get('/items', function (req, res) {});
6. Express 요청 분석
-요청 분석
-- req.query : 쿼리 문자열
-- req.path : 요청 URL 중 경로
-- req.params : URL의 파라미터
-- req.cookie : 요청 메시지 내 쿠키(쿠키 파서 필요)
-- req.body : 요청 메시지 바디 분석(바디 파서 필요)
-응답 (다양한 응답 메서드)
-- res.json() : JSON 응답 메시지 전송
-- res.redirect() : 리다이렉션 응답 전송
-- res.render() : 템플릿으로 렌더링
-- res.send() : JSON, HTML, Buffer 전송, 메시지 헤더에 Content-Type 자동 설정
-- res.sendStatus() : 상태 코드와 상태 메시지 전송
-- res.status() : 상태 코드 설정. 응답 메소드 종료 안함
-- res.download() : 파일 다운로드
7. Express 미들웨어
미들웨어 기반의 프레임 워크
-connect
-Express
미들웨어
-작은 단위 모듈
-요청과 응답 처리 함수 형태
Express 앱의 요청 다루기
-하나의 미들웨어에서 요청 분석 응답 마무리
-여러 미들웨어를 거쳐서 요청과 응답 마무리
미들웨어 설정 하기
app.use(sayHello);
function sayHello(req, res) {
res.send('Hello Express!!');
}
HTTP 메서드별 미들웨어 설정
app.get('/movies' , showMovieList);
app.post(‘/movies’, addMovieInfo);
app.put(‘/movies/:id’, updateMovieInfo);
다수의 미들웨어 조합
-다음 미들웨어 실행
app.use(function(req, res, next) {
console.log(‘Hello Express');
// 다음 미들웨어가 동작하도록 next 호출
next();
});
(샘플)
// 콘솔에 로그를 남기는 미들웨어 - 다음 미들웨어 실행
app.use(function(req, res, next) {
var now = new Date();
console.log(now.toDateString() + ' - url : ' + req.url);
// 다음 미들웨어 실행
next();
});
// 응답을 하는 미들웨어 - 다음 미들웨어 실행 안함
app.use(function(req, res) {
res.send('Hello Express!!');
});
//하나의 요청에 다수 미들웨어
// 두 미들웨어를 스택 형태로 설정
app.use(logger, sayHello);
// next()를 호출해야 다음 미들웨어 실행
function logger(req, res, next) {
next();
}
// 다음에 실행될 미들웨어가 없으면 next를 사용하지 않아도 된다.
function sayHello(req, res) { // 응답하기 }
-내장 미들웨어, 써드 파티 미들웨어
--내장 미들웨어 : 별도 설치 불필요
express.static
-써드 파티 미들웨어 : 설치해야 사용 가능
var cookieParser = require('cookie-parser');
// 쿠키 분석 용 미들웨어
app.use(cookieParser());
정적 파일 요청 처리 미들웨어
-정적파일 서비스
app.use(express.static(‘images’));
-정적 파일 요청
SERVER-ADDRESS/cute1.jpg -> ./images/cute1.jpg
SERVER-ADDRESS/images/cute1.jpg -> ./images/image/cute1.jpg
정적 파일 위치 설정 - 다수 가능
첫 번째 미들웨어 서비스 실패
- 다음 미들웨어 진행
-- app.use(express.static('public'));
-- app.use(express.static(‘files'));
가상 경로 설정
app.use('/static', express.static(‘files’));
정적 파일 요청
SERVER-ADDRESS/static/image.png -> ./files/image.png
----------------------------------------------------------------
실습_1
var express = require('express');
var app = express();
app.use(function(req, res) {
res.send('Hello Express');
});
app.listen(3000);
----------------------------------------------------------------
실습_2
var express = require('express');
var app = express();
app.use(function(req, res, next) {
var now = new Date();
console.log(now.toDateString() + ' - url : ' + req.url);
next();
});
app.use(function(req, res) {
res.send('Hello Express!!');
});
app.listen(3000);
-----------------------------------------------------------------
실습_3
var express = require('express');
var app = express();
app.use(express.static(__dirname + '/images'));
app.use(function(req, res) {
res.send('Hello Express');
});
app.listen(3000);
'개발자 > 20181127 교육과정' 카테고리의 다른 글
mongodb 시작 (0) | 2019.01.14 |
---|---|
nodeJs routing (0) | 2019.01.09 |
nodeJS get, post , 실습 (0) | 2019.01.07 |
nodeJS http (0) | 2019.01.07 |
nodeJs npm module (0) | 2019.01.07 |