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';
}
}
