express
express 는 Node.js 에서 사용 가능한 프레임워크로 npm의 일종이다.
일단 express Framework 를 쓰지 않은 코드를 보자.
const http = require('http');const hostname = '127.0.0.1';const port = 1337;var server = http.createSever(function(req,res){res.writeHead(200, { 'Content-Type': 'text/plain' });res.end('Hello World\n');});server.listen(port, hostname, function(){console.log('Server running at http://${hostname}:${port}/');});
코드해석>
const http = require('http')
http 라는 모듈을 require 해서 http 객체에 담아 핸들링한다.
var server = http.createSever();
http 모듈에 createServer라는 메서드가 존재한다.
서버를 생성하고 만들어진 서버를 제어하기 위해 객체를 리턴한다.
그러면 우린 server라는 객체를 통해 생성된 서버를 제어할 수 있다.
server.listen(port, hostname, );
생성된 서버가 port를 바라보게 한다.(listen)
그리고 타고오는 IP(hostname)를 선별한다.
listen은 시간이 걸릴 수 있는 작업이라서 리슨 메소드는 콜백으로 비동기적으로 작용하게 한다.
즉, Listen이 완료됬을 때 Callback이 실행되도록 해둔다.
server.listen(port, hostname, function(){
console.log('Server running at http://${hostname}:${port}/');
});
서버가 Listening이 완료됬을 때 console.log에 해당하는 문구를 command창에 출력한다.
var server = http.createSever(function(req,res){
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
});
어떤 내용을 출력할 것인가를 결정해야 한다.
createSever 함수에 익명함수를 사용하여 인자로 전달하여 설정한다.
그리고 req(요청),res(응답)에 해당하는 부분으로 함수내용을 채운다.
Express의 도입
이것보다 더 간단히 할 수 있는 프레임 워크를 이용해보자.
매뉴얼을 보는 방법을 알아야 한다.
app.js 파일 생성
= main application , entry application, main file, entry file 이라고 한다.
최초로 실행되는 진입점이 될 수 있는 애플리케이션을 말한다.
관습적으로 파일명을 app.js로 많이 사용한다.
var express = require('express');var app = express()app.get('/',function(req,res){res.send('Hello homepage');});app.get('/login',function(req,res){res.send('Login please');});app.listen(3000,function(){console.log('Connected 3000 port!');});
express 를 가져온다.(require)
var express = require('express')
(! 물론 가져오기 전에 express npm을 설치해야 한다!)
모듈을 통해서 객체를 만들어 줘야 한다.
모듈은 함수라서 애플리케이션이라는 것을 리턴한다. 그 리턴한 값을 제어하기 위해서 객체로 지정해준다.
app.listen
app에는 listen이라는 메소드가 있다.
포트 명과 리스닝이 성공했을 때 실행될 콜백 함수를 적는다.
command 에서 실행시키고
localhots:3000 이라고 하면 Cannot GET/ 이 뜬다.
아직 뭔가 부족하기 때문이다.
app.get
get이라는 메소드를 이용한다.
사용자가 홈페이지에 접속할 때는 get방식(URL로 접속하는 방식), post 방식 두 가지 방식이 있다.
app.get('/') : 그냥 홈으로 접속했을 때를 의미
app.get('/', function(){
};
홈으로 접속했을 때 함수가 실행되도록.
app.get('/', function(req,res){
};
res.send 라는 함수
사용자가 어떠한 경로로 들어왔을 때
어떤 것이 실행될 것인가 를 결정하는 것이 get 이라는 메소드
라우터라고 부르고 하는 일을 라우팅이라고 한다.
길을 찾는다 라는 뜻.
라우터란
사용자 / Router / Controller
요청과 처리를 중개하는 역할을 한다.
라우터는 정말 중요하다.
(이 모든 것은 사용설명서에 있다.)
전에도 말했듯이 Docs 읽는 법을 알아야한다.
Express 를 도입했을 때가 더 간결하게 보인다.
이 정도 짧은 코드도 간결해진다면
더 복잡한 코드는 훨씬 간결해질 것이다.
생활코딩 감사합니다^^
-..-
'Dev.BackEnd > Node.js' 카테고리의 다른 글
[일곱번째] Node.js 기본 / Template Engine, Jade 동적 파일 제공 (0) | 2016.04.08 |
---|---|
[여섯번째] Node.js 기본 / 정적 파일 제공 (0) | 2016.04.08 |
[네번째] Node.js 기본 / 동기&비동기 개념 (0) | 2016.04.07 |
[세번째] Node.js 기본 / 콜백 복습 (0) | 2016.04.07 |
[두번째] Node.js 기본 / 모듈과 NPM (0) | 2016.04.07 |