Express 는 node.js 로만들어진 웹 프레임워크이다.


설치방법은 커맨드창에서 프로젝트 폴더로 들어가  npm init 명령어를 통해 npm 프로젝트로 선언후 

npm install --save express 명령어를 실행하면 설치된다.



프로젝트 디렉터리에 app.js 라는 파일을 생성한다 이파일은 

메인파일 또는 메인애플리케이션 또는 엔트리애플리케이션 이라 부른다.

애플리케이션을 동작하게하고 가장 최초로 실행되는 파일이다.

관습적으로 app.js 라는 이름을 많이 사용한다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
var express = require('express');//익스프레스 모듈 로드해 변수에 저장
 
var app = express(); //애플리케이션이라는 객체를 리턴한다.
app.get('/'function(req,res){ // 페이지 요청시
res.send('Hello World');  //화면에 출력
});
app.get('/login'function(req,res){ //login 이라는 요청시
res.send('login please'); 
});
 
app.listen(3000,function(){ //3000번 포트 리스닝
  console.log('Connected 3000 port'); //리스닝이 실행되면 콘솔에 출력
});
 
cs


익스프레스로만들 애플리케이션을 제어하기 위해서는 익스프레스 모듈을 통해서

애플리케이션이라는 객체를 만들어야 한다.


사용자가 접속했다는 화면을 보여주려면 get 함수를 호출한다.

사용자가 get방식으로 접속한 사용자를 받기위한 함수이다.

첫번째 매개변수인 /는 홈이라는 뜻이다. 두번째 매개변수인 함수는

사용자가 get 함수를 통해 홈으로 접속하면 실행된다.

함수는 형태가 약속되어있다. 첫번째 매개변수는 request 두번째 매개변수는 response 이다.

res 의 send 함수는 인자로 전달된 값을 응답한다.


app객체는 listen이라는 메서드가 있다.

이메서드에 포트번호를 지정해주면 웹 애플리케이션이 해당 포트번호를 리스닝할수있게된다.

리스닝이 성공하게되면 콜백함수가 실행되면서 화면에 Conneted 3000 port 라고 출력된다.


리스닝 실행후 콘솔에 출력된 메세지



get방식으로 페이지 요청시에 화면에 나타난 메세지



/login 페이지 요청시 화면에 나타난 메세지



정적파일 서비스 방법





 

var express = require('express');//익스프레스 모듈 로드해 변수에 저장

var app = express(); //애플리케이션이라는 객체를 리턴한다. app.use(express.static('public')); // 정적인 파일이 위치할 디렉터리를 지정하는 코드 app.get('/', function(req,res){ // 페이지 요청시 res.send('Hello World'); //화면에 출력 }); app.get('/login', function(req,res){ // /login 이라는 요청시 res.send('login please'); //로그인 요청 메시지 출력 }); app.get('/image', function(req,res) {// /image 라고 요청시 res.send('<img src= "/BruceLee.jpg">'); //이미지태그 }); app.listen(3000,function(){ //3000번 포트 리스닝 console.log('Connected 3000 port'); //리스닝이 실행되면 콘솔에 출력 });


app.use(express.static('public')); 이코드는 정적인 파일이 위치할 디렉터리를 지정한다.

관습적으로 public 이라는 폴더명을 사용한다.

폴더명이 public 인 디렉터리안의 파일을 제공할수 있게된다.


/image 로 요청하면 이미지가 나올수있게 소스를 작성하고 실행하면 이미지가 나오게 된다.




'Node.js' 카테고리의 다른 글

post 방식 데이터 전달 / 사용  (0) 2017.02.26
URL을 이용한 get방식 데이터 전달 / 사용  (0) 2017.02.26
jade 템플릿 엔진  (0) 2017.02.26
정적페이지 / 동적페이지 표현  (0) 2017.02.26
모듈  (0) 2017.02.26

+ Recent posts