쉽게 nodejs 서버 만들기 (4): 루트

2533 단어 nodejs서버경로
서버는 서로 다른 URL이나 요청에 따라 다른 작업을 수행해야 합니다. 우리는 길을 통해 이 절차를 실현할 수 있습니다.
첫 번째 단계에서 우리는 먼저 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 요청에 대해 서로 다른 피드백을 제공합니다.

좋은 웹페이지 즐겨찾기