# 개발환경 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);
- 결과
'LANGUAGE > NODEJS' 카테고리의 다른 글
NODEJS - 기본세팅 / 5 - 템플릿엔진 ejs (0) | 2019.07.19 |
---|---|
NODEJS - 기본세팅 / 4, 리다이렉션, request, response 확장 (0) | 2019.07.19 |
NODEJS - 기본세팅 / 3, Express.static (0) | 2019.07.19 |
NODEJS - 기본세팅 / 2, morgan (0) | 2019.07.19 |
NODEJS - 기본세팅 / 1 (0) | 2019.07.19 |