그런 다음 요청 핸들러가 의미있는 정보를 반환 할 수 있도록 서버를 변환합니다.
구현 방법을 살펴 보겠습니다.
1. 요청 핸들러가 OnRequest 함수를 통해 사용자에게 표시하려는 정보를 직접 반환하십시오 (return ()).
2. 요청 핸들러가 브라우저에 표시 해야하는 정보를 반환하도록 시작하겠습니다.
requesthandler.js를 다음 형식으로 수정해야합니다.
코드 사본은 다음과 같습니다.
함수 start () {
Console.log ( "요청 핸들러 '시작'이 호출되었습니다.");
"Hello Start"를 반환합니다.
}
함수 upload () {
Console.log ( "요청 처리기 '업로드'가 호출되었습니다.");
"안녕하세요 업로드"를 반환합니다.
}
Exports.start = 시작;
Exports.upload = 업로드;
마찬가지로 요청 라우팅에는 요청 핸들러가 서버로 반환 한 정보가 필요합니다.
따라서 router.js를 다음 형식으로 수정해야합니다.
코드 사본은 다음과 같습니다.
기능 경로 (핸들, PathName) {
Console.log ( "" + pathname에 대한 요청을 라우팅하려면);
if (typeof handle [pathname] === 'function') {
리턴 핸들 [pathname] ();
} 또 다른 {
console.log ( "" + pathname에 대한 요청 핸들러 없음);
"404 찾을 수 없다"는 반환;
}
}
Exports.route = 경로;
위 코드에 표시된대로 요청을 라우팅 할 수 없으면 관련 오류 메시지도 반환합니다.
마지막으로, 아래와 같이 요청 경로를 통해 요청 핸들러에서 반환 된 컨텐츠에 응답 할 수 있도록 Server.js를 리팩터링해야합니다.
코드 사본은 다음과 같습니다.
var http = 요구 사항 ( "http");
var url = require ( "url");
함수 시작 (경로, 핸들) {
onrequest (요청, 응답) {
var pathname = url.parse (request.url) .pathname;
console.log ( "" + pathname + "에 대한 요청");
response.writehead (200, { "content-type": "text/plain"});
var content = Route (핸들, PathName);
응답 (컨텐츠);
응답 ();
}
http.createserver (onrequest) .listen (8888);
Console.log ( "서버가 시작되었습니다.");
}
Exports.start = 시작;
리팩토링 된 응용 프로그램을 실행하는 경우 :
요청 http : // localhost : 8888/start에서 브라우저는 "Hello Start"를 출력합니다.
요청 http : // localhost : 8888/업로드는 "Hello Upload"를 출력합니다.
http : // localhost : 8888/foo를 요청할 때 "404 찾기"를 출력합니다.
이것은 기분이 좋으며 다음 섹션에서 개념에 대해 배울 것입니다 : 차단 작업.