ywjfx

1、service.js

var http=require(\'http\');//引入http模块
var fs=require(\'fs\');//fs模块
var path=require(\'path\');  /*nodejs自带的模块*/  //path模块
var url=require(\'url\');//url模块
var mimeModel=require(\'./model/getmime.js\');

http.createServer(function(req,res){
    //http://localhost:8001/news.html    /news.html
    var pathname=url.parse(req.url).pathname;
    console.log(pathname);
    if(pathname==\'/\'){
        pathname=\'/index.html\'; /*默认加载的首页*/
    }
    //获取文件的后缀名
    var extname=path.extname(pathname);
    if(pathname!=\'/favicon.ico\'){  /*过滤请求favicon.ico*/

        //文件操作获取 static下面的index.html
        fs.readFile(\'static/\'+pathname,function(err,data){
            if(err){  /*么有这个文件*/
                console.log(\'404\');
                fs.readFile(\'static/404.html\',function(error,data404){
                    if(error){
                        console.log(error);
                    }
                    res.writeHead(404,{"Content-Type":"text/html;charset=\'utf-8\'"});
                    res.write(data404);
                    res.end(); /*结束响应*/
                })
            }else{ /*返回这个文件*/

                var mime=mimeModel.getMime(extname);  /*获取文件类型*/
                res.writeHead(200,{"Content-Type":""+mime+";charset=\'utf-8\'"});
                res.write(data);
                res.end(); /*结束响应*/
            }
        })
    }
}).listen(8001);

2、getmime.js

exports.getMime=function(extname){  /*获取后缀名的方法*/
    switch (extname){
        case \'.html\':
            return \'text/html\';
        case \'.css\':
            return \'text/css\';
        case \'.js\':
            return \'text/javascript\';
        default:
            return \'text/html\';
    }
}

 

  

分类:

技术点:

相关文章: