nodejs抓取动态网页(服务器请求响应不同的文件路由:根据不同文件请求)

优采云 发布时间: 2021-10-21 23:10

  nodejs抓取动态网页(服务器请求响应不同的文件路由:根据不同文件请求)

  昨天创建的服务器只是在浏览器请求时做出响应,而今天要创建的服务器可以根据不同的URL请求响应不同的文件,这就是所谓的文件路由:不同的文件请求响应不同的“路” .

  第一步:创建文件Luyou.js,在其中声明引用模块的变量和要响应的文件路径

  //获取http模块

var http = require("http");

//文件模块

var fs = require('fs');

//主页路由模块,file文件夹里的index.js文件

var index = require('./file/index');

//错误处理文件路径

var error = "./file/error404.html";

//春晓页面路径

var cx = "./file/cunxiao.html";

  需要提供路由的文件主要包括三个文件。第一个是index模块,负责首页的响应;第二个是404错误页面的响应;三是春晓诗的回复页。文件目录如下:

  

  步骤二:实现文件响应功能和404错误响应功能

  //函数Response,将HTML、css、js等文件响应给客户端

var Response = function(res,filePath){

//读取文件,读取完成后给客户端响应

fs.readFile(filePath,function(err,data){

if(err){ //如果失败,就返回错误文件

if(filePath != error) //如果失败的不是错误文件,才返回错误文件

Response(res,error);

}else{

res.writeHead(200,{ //响应客户端,将文件内容发回去

'Content-type':"text/html"});

res.end(data);

}

});

};

//404错误响应文件

var error404 = function(res){

Response(res,error);

};

  该函数使用了fs文件模块,用于提取文件内容,提取的内容(或错误)会在回调函数中传回,这是node.js非的思想- 阻塞 I/O 事件编程表现。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线