안녕세계
[SK고용디딤돌] Node.js (6/10) - 6주차 본문
[SK고용디딤돌] Node.js (6/10) - 6주차
Junhong Kim 2016. 8. 11. 14:50npm init -> package.json 생성
helloexpress
│
├ bin
│ └ www 1) express 프레임 워크 객체 모듈을 로딩 2)웹서버룰 그축
│
├ app.js 1)서비스 파일(서비스 코드를 가지고 있다 2) express 프레임 워크를 로딩 3) third party 모듈 로딩 4) URI와 확장모듈 매핑
│ - 마운트 포인트하고 모듈을 매핑한다.
├ routes (controllers) 1) 모듈을 배치 2) controller 역할 3)
├ index.js
└ users.js
- 마운프트 포인트에있는 패스하고 미들웨어를 매핑한다.
익스프레스 에서 사용하는 서비스 코드를 미들웨어라고 한다. 이것은 콜백이다.
(REST API 구조) URL <-> 함수
app.use 특정패스에서 이 미들웨어를 사용하겠다.
패스가 없으면 모든 경로(/) 임,
모듈을 가져다 쓸수 있지만 보이지 않는다.
에러처리를 위한 미들웨어(=함수)
app.use(function(err, req, res, next)
에러처리는 가장 밑에
모바일 서버 화면 제공 X
데이터만 제공- > 제이슨 포맷으로 데이터를 전송한다. res.send({ ... }) -> 객체만들면 자동으로 JSON의 Stringfy를 수행한다.
get 조회
put 수정
post 생성
delete 제거
all 모든 요청 처리, 정규표현식을 url을 매핑할 수 있음.
요청이 들어오면
get : 방식일 때는 사용자가 입력한 정보가 - request.query에서 parameter 이름으로 꺼내면 됨 (즉, 헤더)
post, put, delete - request.body 에서 꺼내서 사용
req.basUrl 마운트 포인트 정보가 담겨있음
req.path 마운트 포인트 빼고
req.originalUrl전부다
express => package.json 기술 => node_modules - A - B - C
* http로 server를 만든 것을, express가 모든 것을 해준다
< Express >
[sudo : 유닉스 계열] npm install express-generator -g
npm start ----> node bin/www 한것과 동일
package.json에서
* bin/www
1) express 프레임워크 로딩 (app.js)
var app = require('../app');
※ express 프레임워크 => function(req, res) { ... } // request 이벤트가 발생하면 동작
2) express 프레임워크를 사용하는 서버를 생성하고 기동한다.
var server = http.createServer(app);
- 0 ~ 1023 까지는 super user(루트)권한이 있어야 쓸 수 있음.
1) http : 80 port
2) https : 443 port
express? 경량 웹 프레임워크 & 경량 웹 서버 & 경량 웹 서비스를 할 수 있도록 하는 것
철학 : minimalism
M odel : 데이터를 저장, 읽고, 변경하는 것
V iew : 입력받고, 결과를 보여주는 것
C ontroller : Model 과 View 사이에 존재하여 중재의 역할
-> 느슨한 결합을 하게된다 ( 교체가능한 시스템 ) -> 확장이가능 & 유지보수 편리
기본적으로 express framework는 MVC 패턴을 기반으로 하고 있다.
express에서 routes는 controllers 이다.
view 모바일 서버는 화면을 제공하지 않음
app.use(bodyParser.urlencoded({ extended: false }));
extended가 false 일 경우 querystring을 사용
true일 경우에는 qs모듈을 (third party) 사용
/ mount 포인트는 index.js가 동작 됨
render 는 views 를 보내기 위해 사용
send 데이터만 보내기 위해 사용 -> 우리는 모바일 서버
[링크]
https://www.iconfinder.com
'My Trace > SK고용디딤돌2기' 카테고리의 다른 글
[SK고용디딤돌] Node.js (8/10) - 7주차 (0) | 2016.08.16 |
---|---|
[SK고용디딤돌] Node.js (7/10) - 6주차 (0) | 2016.08.12 |
[SK고용디딤돌] Node.js (5/10) - 6주차 (0) | 2016.08.10 |
[SK고용디딤돌] Node.js (4/10) - 6주차 (0) | 2016.08.09 |
[SK고용디딤돌] Node.js (3/10) - 6주차 (0) | 2016.08.08 |