# 개발환경 os : windows 10 Pro 64-bit node-v : v10.16.0 npm-v : 6.9.0 ide : visual Studio Code |
* 리다이렉션하는 방법 등
/**
* 라우팅 (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);
app.use(express.static(publicPath));
console.log(publicPath);
//Routing
app.get("/", function(request, response){
response.writeHead(200, {"Content-Type":"text/plain; charset=utf-8"});
response.end("/ 경로로 접근...!");
});
//response/request 확장
app.get("/route", function(request, response){
//리다이렉트할 경로
//예1) /hello/world
//예2) "http://bogyum-uncle.tistory.com/2"
response.redirect("/");
// response.redirect("http://bogyum-uncle.tistory.com/2");
//TypeError : path는 절대경로여야 함
//방법 1 : response.sendFile("C:/nodeSetting/resource/img/image.png");
//방법 2 : response.sendFile(publicPath + "\\resource\\img\\image.png");
//요청한 곳의 IP 주소를 받을 수 있음
//request.id;
});
app.use(function(request, response){
//4XX : 클라이언트 오류
response.statusCode = 404;
response.end("404 Error!");
});
http.createServer(app).listen(3000);
2. 브라우저 주소창에 localhost:3000/route 를 입력하면 localhost:3000/ 로 리다이렉션 되는 것을 확인할 수 있음
'LANGUAGE > NODEJS' 카테고리의 다른 글
[NODEJS] Mysql 연동 1/ 세팅, 스키마 생성 (0) | 2019.08.22 |
---|---|
NODEJS - 기본세팅 / 5 - 템플릿엔진 ejs (0) | 2019.07.19 |
NODEJS - 기본세팅 / 3, 라우팅(Routing) (0) | 2019.07.19 |
NODEJS - 기본세팅 / 3, Express.static (0) | 2019.07.19 |
NODEJS - 기본세팅 / 2, morgan (0) | 2019.07.19 |