搭建一个静态的web服务器&&给静态web服务器上添加get、post路由
一、搭建一个静态的web服务器
const http=require("http");
const url=require("url");
const fs=require("fs");
const path=require("path");
const extName=require("extName");
let host="localhost";
let port=8080;
let app=http.createServer((req,res)=>{
let pathName=url.parse(req.url).pathname;
if(pathName!="/favicon.ico"){
if(pathName=="/")
{
pathName="index.html";
}
console.log();
fs.readFile(`${__dirname}/view/${pathName}`,(err,buffer)=>{
if(err)
{
throw err;
}
let ext=path.extname(pathName);
extName.check(ext).then((result)=>{
res.writeHead(200,{"Content-Type":`${result};charset=utf-8`});
res.write(buffer);
res.end();
});
});
}
});
app.listen(port,host,()=>{
console.log(`http://${host}:${port}`);
});
const fs=require("fs");
let obj={
check(args){
return new Promise((resolve,reject)=>{
fs.readFile(`${__dirname}/mime.json`,(err,buffer)=>{
if(err)
{
throw err;
}
let json=JSON.parse(buffer.toString());
resolve(json[args]);
});
})
}
}
module.exports=obj;
二、给静态web服务器上添加get、post路由
let app=http.createServer((req,res)=>{
let method=req.method;
let pathName=url.parse(req.url).pathname;
if(pathName!="/favicon.ico"){
if(method==="GET")
{
let params=url.parse(req.url,true).query;
if(pathName=="/")
{
pathName="index.html";
}
fs.exists(req.url,(bool)=>{
if(bool){
console.log("只能是get请求",params);
}
});
fs.readFile(`${__dirname}/view/${pathName}`,(err,buffer)=>{
if(err)
{
throw err;
}
let ext=path.extname(pathName);
extName.check(ext).then((result)=>{
res.writeHead(200,{"Content-Type":`${result};charset=utf-8`});
res.write(buffer);
res.end();
});
});
}
else{
let info='?';
res.on("data",(info)=>{
info+=data;
});
res.on("end",()=>{
console.log(info);
});
}
}
});