2017년 7월 20일 목요일

[nodejs] 기본 express request 요청 처리 방법

따로 설명이 필요없을거 같아서 소스만 첨부

//node js 설후 루트 디렉터리 npm 설정 후  : 프로젝트 루티 리렉터리로 가서 : npm init 실행한후 설정한다.
//pxpress 설치 : npm install express --save
//jade 설치    : npm install jade --save
//node js 파일 수정 시 자동 저장후 재실행 하려면 supervisor app.js 명령어로 실행 npm install supervisor -g 전역으로 supervisor 설치
//프로젝티 이동시 프젝트루트 폴더에 생성된  pacage.json 파일을 같이 옮긴후 옮겨진 디렉터리 에서 npm install 을 해서 의존 모듈을 설치할 수 있다.

var express = require('express');

//post 전송 테이더 를 수신 하기 위한 모듈
var bodyParser = require('body-parser');

var app = express();
//public 디렉토리에 있는 파일을 파일명으로 접근 가능하게 한다.
app.use(express.static('public'));

//모듈 붙이기 라우터 전에 요청을 먼저 받는다.
app.use(bodyParser.urlencoded({ extended: false }));

//jade 사용여부 셋팅.
app.set('view engine','jade');
//node.js 3.X 버전때 jade 템플릿 html 들여쓰기 예쁘게 출력되게 설정
/*app.configure('development', function(){
  app.use(express.errorHandler());
  app.locals.pretty = true;
});*/
app.locals.pretty = true;


//제이드 파일 위치 디렉터리(현재 위치 views 폴더)
app.set('views','./views')

//app.get 은 라우터 url잡아서 실행되어진다.
app.get('/', function (req, res) {
  res.send('Hello World!');
});

//정적 파일 html 생성 localhost:3000/html/test.html 으로 바로 접근가능.
app.get('/public', function (req, res) {
  res.send('Hello World! public <img src="/images/test.jpg" >');
});

//jade 템플릿 사용
app.get('/template', function (req, res) {

  //render 에 두번째 배열 파라미터에 전달할 파라미터 셋팅이 가능하다.
  res.render('temp',{time : 'hello',_title : 'jade'});
});


//동적 html 생성
app.get('/dynamic', function (req, res) {


var html = '</ul>';

for (var i =0;i < 100; i++){
html += '<li>' + i + '</li>';

}

html += '</ul>';

var output = `
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
</head>
<body>
hellow dynamic!!!!!
${html}
</body>
</html>`

res.send(output);
});

//파라미터 쿼리 스트링
app.get('/topic', function (req, res) {

var id = req.query.id;
 
if(id == 1){
res.send('id  1');
}else if(id == 2){
res.send('id  2');
}

});

//시멘틱 url 요청 전달받을 파라미터와 일치해야한다. 아닐경우 에러
app.get('/path/:id/:mode', function (req, res) {

res.send(req.params.id + req.params.mode);
});


//포스트 전송 예제 jade 템플릿 사용 form 태그에서 get 으로 전송시 get 으로 수신 가능.!!! post 의 경우 req.query 가 아닌 rea.body 로 접근 해야한다.
app.get('/formTest', function (req, res) {
res.render('form');
});

//포스트 수신
app.post('/form_recever', function (req, res) {


res.send(req.body.title);





});
















//ESTABLISHED 등록
app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});



댓글 없음:

댓글 쓰기

[lunux]리눅스 폴더별 용량 확인

리눅스 폴더별 용량 확인 조회 하고자 하는 디렉토리 리스트가있는 경로로 이동후 du -h --max-depth=1