Node 静态Web服务器搭建

App.js:

var http=require("http");
var router=require("./router");
http.createServer(function(req,res){
    router(req,res,"./static");
}).listen(8100);

router.js:

var fs=require("fs");
var url=require("url");
//path模块  解析路径后缀
var path=require("path");
var mime=require("./readmime");
module.exports=function(req,res,static){
    var pathname=url.parse(req.url).pathname;
    if(pathname!="/favicon.ico"){
        if(pathname=="/"){
            pathname="/index.html";
        }
        //网页取出来是index.html,少一个/  因此要在pathname="index.html"的index.html前加/  加上之后网页取出来的是/index.html
        //console.log(pathname);    
        fs.readFile(static+pathname,function(err,data){
            if(err){
                console.log(404);
                return false;
            }
            //exname取当前文件的后缀名  .jpg
            var exname=path.extname(pathname);
            mime(exname,function(result){
                res.writeHead(200,{"Content-Type":result+";charset=utf-8"});
                res.write(data);
                res.end();
            });
        });
    }
}

readmime.js:

var fs=require("fs");
module.exports=function(dir,callback){
    //dir是后缀名 .jpg      callback括号里的值指image/jpeg
    fs.readFile("./mime.json",function(err,data){
        if(err) throw err;
        callback(JSON.parse(data.toString())[dir]);
    });
}

目录:
在这里插入图片描述
实现效果:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值