静态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();
})
}
})