LANGUAGE/NODEJS

NODEJS - 기본세팅 / 3, 라우팅(Routing)

보겸삼촌 2019. 7. 19. 14:32

# 개발환경

os : windows 10 Pro 64-bit

node-v : v10.16.0

npm-v : 6.9.0

ide : visual Studio Code

 

 

1. app.get과 url을 통해 라우트 되는 곳마다 다른 응답을 줄 수 있음

 

 따라서, 고정된 경로 뿐 아니라 정규 표현식을 만들어서 더 다양하고 복잡한 경로로 매핑할 수 있음

 

 /**
  * 라우팅 (app.get, url)을 통해서 라우팅 되는 곳 마다 다른 응답
  * 고정된 경로 뿐 아니라 정규 표현식을 만들어 다양하고 복잡한 경로로 매핑
  */
 
//Express를 변수에 담기
var express = require("express");
 
//Express 호출 후 새로운 Express 애플리케이션을 변수(app)에 넣음
var app = express();

//Nodejs 내장 모듈
var http = require("http");
var path = require("path");

//로그 모듈
var logger = require("morgan");


//logger("short") = 함수 반환
//short를 통해 간단한 로그를 남김 
app.use(logger("short"));


//path.resoleve : os에 따라 /public 혹은 \public 처럼 분리자가 다를 수 있지만 이 부분을 처리해 준다.
//__dirname : 현재 위치를 가리키는 node 전역변수
var publicPath = path.resolve(__dirname, "public");
app.use(express.static(publicPath));


//Routing
app.get("/", function(request, response){
    response.writeHead(200, {"Content-Type":"text/plain; charset=utf-8"});
    response.end("/ 경로로 접근...!");
    console.log(response.statusCode);
});

app.get("/route_1", function(request, response){
    response.writeHead(200, {"Content-Type":"text/plain; charset=utf-8"});
    response.end("/route 경로로 접근...!");
    console.log(response.statusCode);
});


app.use(function(request, response){
    //4XX : 클라이언트 오류
    response.statusCode = 404;
    response.end("404 Error!");
});

http.createServer(app).listen(3000);

 

  - 결과