쉽게 nodejs 서버 만들기 (4): 루트
첫 번째 단계에서 우리는 먼저 URL을 요청하는 경로를 해석해야 한다. 우리는 URL 모듈을 도입한다.
브라우저가 요청한 URL 경로를 찾기 위해 onRequest() 함수에 논리를 추가합니다.
var http = require("http");
var url = require("url");
function start() {
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;
console.log("Request for " + pathname + " received.");
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("Server has started.");
}
exports.start = start;
자, pathname은 요청의 경로입니다. 다른 요청을 구별할 수 있습니다. 그러면/start와/upload에서 온 요청에 대해 다른 코드를 사용하여 처리할 수 있습니다.이어서 우리는 루트를 작성하여router라는 이름을 세웠다.js의 파일, 코드는 다음과 같습니다.
function route(pathname) {
console.log("About to route a request for " + pathname);
}
exports.route = route;
이 코드는 아무것도 하지 않았으니, 우리는 먼저 루트와 서버를 통합하자.우리는 이어서 서버의 start () 함수를 확장하여 start () 에서 루트 함수를 실행하고pathname를 매개 변수로 전달합니다.
var http = require("http");
var url = require("url");
function start(route) {
function onRequest(request, response) {
var pathname = url.parse(request.url).pathname;
console.log("Request for " + pathname + " received.");
route(pathname);
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("Server has started.");
}
exports.start = start;
동시에, 우리는 그에 상응하여 index를 확장할 것이다.js, 라우팅 함수를 서버에 주입할 수 있도록 합니다.
var server = require("./server");
var router = require("./router");
server.start(router.route);
index를 실행합니다.js, 경로, 예를 들어/upload에 접근하면 컨트롤러 출력을 발견할 수 있습니다. About to route a request for/upload.이것은 우리의 HTTP 서버와 요청 루트 모듈이 서로 교류할 수 있다는 것을 의미한다.
다음 섹션에서는 서로 다른 URL 요청에 대해 서로 다른 피드백을 제공합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Node.js를 AWS서버에서 사용하는 실습간단한 예제와 함께 AWS에서 Node.js를사용하는 법을 배워보도록 하겠다. 해당 github에 있는 레포지토리로 사용을 할 것이다. 3000번 포트로 Listen되는 예제이고 간단히 GET, POST, DELET...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.