node.js--静态web服务器

静态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();   
      })
    }
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值