จากนั้นเราแปลงเซิร์ฟเวอร์เพื่อให้ตัวจัดการคำขอสามารถส่งคืนข้อมูลที่มีความหมายบางอย่าง
มาดูกันว่าจะนำไปใช้กันอย่างไร:
1. ให้ตัวจัดการคำขอส่งคืนโดยตรง (return ()) ข้อมูลที่พวกเขาต้องการแสดงต่อผู้ใช้ผ่านฟังก์ชัน OnRequest
2. เริ่มต้นด้วยการปล่อยให้ตัวจัดการคำขอส่งคืนข้อมูลที่ต้องแสดงในเบราว์เซอร์
เราจำเป็นต้องแก้ไข quorkhandler.js เป็นแบบฟอร์มต่อไปนี้:
การคัดลอกรหัสมีดังนี้:
ฟังก์ชั่นเริ่มต้น () {
console.log ("คำขอเริ่มต้น 'start' ถูกเรียก");
กลับ "สวัสดีเริ่ม";
-
ฟังก์ชั่นอัปโหลด () {
console.log ("คำขอตัวจัดการ 'อัพโหลด' ถูกเรียกว่า");
กลับ "สวัสดีอัปโหลด";
-
ExportS.Start = Start;
ExportS.UPLOAD = อัปโหลด;
ในทำนองเดียวกันการกำหนดเส้นทางการร้องขอต้องใช้ข้อมูลที่ส่งคืนโดยตัวจัดการคำขอไปยังเซิร์ฟเวอร์
ดังนั้นเราจำเป็นต้องแก้ไขเราเตอร์. js เป็นแบบฟอร์มต่อไปนี้:
การคัดลอกรหัสมีดังนี้:
เส้นทางฟังก์ชั่น (ด้ามจับชื่อพา ธ ) {
console.log ("เกี่ยวกับการกำหนดเส้นทางสำหรับ" + ชื่อพา ธ );
if (typeof handle [pathname] === 'function') {
ส่งคืนด้ามจับ [ชื่อพา ธ ] ();
} อื่น {
console.log ("ไม่พบตัวจัดการคำขอสำหรับ" + ชื่อพา ธ );
กลับ "404 ไม่พบ";
-
-
exports.route = เส้นทาง;
ดังที่แสดงในรหัสข้างต้นเมื่อไม่สามารถกำหนดเส้นทางคำขอได้เรายังส่งคืนข้อความแสดงข้อผิดพลาดที่เกี่ยวข้อง
ในที่สุดเราจำเป็นต้อง refactor เซิร์ฟเวอร์ของเรา js เพื่อให้สามารถตอบสนองต่อเนื้อหาที่ส่งคืนโดยตัวจัดการคำขอผ่านเส้นทางคำขอไปยังเบราว์เซอร์ดังที่แสดงด้านล่าง:
การคัดลอกรหัสมีดังนี้:
var http = ต้องการ ("http");
var url = ต้องการ ("url");
ฟังก์ชั่นเริ่มต้น (เส้นทาง, ด้ามจับ) {
ฟังก์ชั่น onRequest (คำขอการตอบกลับ) {
var pathName = url.parse (request.url) .pathName;
console.log ("ขอ" + pathname + "ได้รับ");
Response.writehead (200, {"เนื้อหาประเภท": "ข้อความ/ธรรมดา"});
VAR Content = Route (Handle, PathName);
Response.write (เนื้อหา);
Response.end ();
-
http.createserver (onrequest) .Listen (8888);
console.log ("เซิร์ฟเวอร์เริ่มต้นแล้ว");
-
ExportS.Start = Start;
หากเราเรียกใช้แอปพลิเคชัน Refactored:
ขอ http: // localhost: 8888/เริ่มเบราว์เซอร์จะส่งออก "Hello Start"
การร้องขอ http: // localhost: 8888/อัปโหลดจะส่งออก "สวัสดีอัปโหลด"
เมื่อขอ http: // localhost: 8888/foo มันจะส่งออก "404 ไม่พบ"
สิ่งนี้ให้ความรู้สึกดีและเราจะได้เรียนรู้เกี่ยวกับแนวคิดในส่วนถัดไป: การปิดกั้นการดำเนินการ