静态web服务器:
1.请求路径信息时需要过滤掉"/favicon.ico"这个请求;
2.可单独建立一个所有文件网页显示格式的json文件,在所需文件中读取,并以键值对的方式去匹配)
3.用path.extname()获取文件的后缀名,为不同类型文件配置不同的文件网页显示格式,即设置Content-Type值
1.加载所需模块
let server = require("./server/server"); //server事先封装,在此引入
let fs=require("fs");
let path = require("path");
let url=require("url");
2.读取"文件后缀名":"网络文件的类型"的json文件
let jsondata= JSON.parse(fs.readFileSync("filetype/mime.json").toString());
3.调用服务器模块
server((require,response)=>{
//解析路径 require.url项目中每个文件的路径信息
let urlpath=url.parse(require.url);
// console.log(urlpath);
let pathName=urlpath.pathname;
//发送了两次请求,而 /favicon.ico 是不需要的,过滤掉该请求
if(pathName!="/favicon.ico"){
if(pathName=="/"){
pathName="index.html"; //默认打开首页
}
//读取静态项目中的每个文件
fs.readFile("Static/"+pathName,(error,data)=>{
if(error){
throw error;
}
//获取文件的后缀名
let extname= path.extname(pathName);
//为每个文件配置相应的Content-Type类型
response.writeHead(200,{"Content-Type":jsondata[extname]+";charset=utf-8;"})
//发送请求到的信息
response.write(data);
response.end();
})
}
})
本文介绍如何搭建一个静态Web服务器,包括过滤不必要的请求、读取文件类型配置、设置Content-Type及响应文件读取流程。通过使用Node.js的内置模块,如fs、path和url,实现对静态资源的有效管理和响应。
1万+

被折叠的 条评论
为什么被折叠?



