>웹 프론트엔드 >JS 튜토리얼 >nodejs 서버를 쉽게 생성하세요 (6): response_node.js

nodejs 서버를 쉽게 생성하세요 (6): response_node.js

WBOY
WBOY원래의
2016-05-16 16:25:471004검색

그런 다음 요청 핸들러가 의미 있는 정보를 반환할 수 있도록 서버를 수정합니다.

구현 방법을 살펴보겠습니다.

1. 요청 핸들러가 onRequest 함수를 통해 사용자에게 표시하려는 정보를 직접 반환(return())하도록 합니다.
2. 요청 핸들러가 브라우저에 표시해야 하는 정보를 반환하도록 하는 것부터 시작해 보겠습니다.

requestHandler.js를 다음 형식으로 수정해야 합니다.

코드 복사 코드는 다음과 같습니다.

함수 시작() {
console.log("요청 핸들러 'start'가 호출되었습니다.");
"Hello Start"를 반환합니다.
}
함수 업로드() {
console.log("요청 핸들러 '업로드'가 호출되었습니다.");
"안녕하세요 업로드"를 반환합니다.
}
수출.시작 = 시작;
수출.업로드 = 업로드;

마찬가지로 요청 라우팅에서는 요청 핸들러가 반환한 정보를 서버에 반환해야 합니다.
따라서 router.js를 다음과 같은 형식으로 수정해야 합니다.

코드 복사 코드는 다음과 같습니다.

함수 경로(핸들, 경로명) {
console.log("pathname에 대한 요청을 라우팅하려고 합니다.");
if (typeof 핸들[경로 이름] === '함수') {
반환 핸들[경로 이름]();
} 그 밖의 {
console.log("경로명에 대한 요청 핸들러를 찾을 수 없습니다.");
"404 찾을 수 없음"을 반환합니다.
}
}

수출.경로=경로;

위 코드에서 볼 수 있듯이 요청을 라우팅할 수 없는 경우 관련 오류 정보도 반환합니다.
마지막으로 다음과 같이 요청 경로를 통해 요청 핸들러가 반환한 콘텐츠로 브라우저에 응답하도록 server.js를 리팩터링해야 합니다.

코드 복사 코드는 다음과 같습니다.

var http = require("http");
var url = require("url");
함수 시작(경로, 핸들) {
함수 onRequest(요청, 응답) {
var 경로명 = url.parse(request.url).pathname;
console.log("" pathname "에 대한 요청이 수신되었습니다.");
response.writeHead(200, {"Content-Type": "text/plain"});
var content = 경로(핸들, 경로명);
response.write(content);
response.end();
}
http.createServer(onRequest).listen(8888);
console.log("서버가 시작되었습니다.");
}
수출.시작=시작;

리팩터링된 애플리케이션을 실행하는 경우:

http://localhost:8888/start를 요청하면 브라우저에 "Hello Start"가 출력됩니다.
http://localhost:8888/upload를 요청하면 "Hello Upload"가 출력됩니다.
그리고 http://localhost:8888/foo를 요청하면 "404 찾을 수 없음"이 출력됩니다.

다음 섹션에서는 차단 작업이라는 개념에 대해 알아보겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.