NodeJs的简易web服务器
程序员文章站
2022-05-04 19:34:06
...
1.Types.js 对应Content-Type的类型
module.exports={
".js": "text/javascript",
".css":"text/css",
".html":"text/html",
".jpg":"images/jpeg"
}
// types举几个例子,nodejs的自定义模块
2.简易的web服务器
let URL=require("url");
let path=require("path");
let fs=require("fs");
let http=require("http");
let Types = require("./types");
http.createServer(function(req,res){
let pathname=URL.parse(req.url).pathname; //获取路径,去除query
let extName=path.extname(pathname); //获取后缀名
if(pathname!=="/favicon.ico"){
fs.readFile(path.resolve(__dirname,`./${pathname}`),(err,data)=>{
if(err) {
console.log(err);
fs.readFile("html/404.html",(error,dt)=>{
if(error) return false;
res.writeHead(404,`Content-Type:"text/html;chaset=utf8"`);
res.write(dt);
res.end();
})
}else{
//找到页面了
res.writeHead(200,`Content-Type:"${Types[extName]};chaset=utf8"`); //根据types设置type
res.write(data);
res.end();
}
})
}
}).listen(8001,"127.0.0.1")
3.目录结构
上一篇: 设计模式(四)--装饰器模式
下一篇: jar资源文件处理方式