说明
利用HTTP模块 URl模块 Path模块 Fs模块创建 在项目文件夹下,创建文件夹static,下面创建index.html
//引入http模块
var http=require('http');
//fs模块
var fs=require('fs');
http.createServer(function(req,res){
//http://localhost:8001/news.html /news.html
//http://localhost:8001/index.html /index.html
//css/dmb.bottom.css
var pathname=req.url;
if(pathname=='/'){
pathname='/index.html'; /*默认加载的首页*/
}
if(pathname!='/favicon.ico'){ /*过滤请求favicon.ico*/
console.log(pathname);
//文件操作获取 static下面的index.html
fs.readFile('static/'+pathname,function(err,data){
if(err){ /*么有这个文件*/
console.log('404');
}else{ /*返回这个文件*/
res.writeHead(200,{
"Content-Type":"text/html;charset='utf-8'"});
res.write(data);
res.end(); /*结束响应*/
}
})
}
}).listen(8001);
改进,加入path模块,动态获取文件类型
//引入http模块
var http=require('http');
//fs模块
var fs=require('fs');
//path模块
var path=require('path'); /*nodejs自带的模块*/
var mimeModel=require('./model/getmime.js');
//console.log(mime.getMime('.css')); //获取文件类型
http.createServer(function(req,res){
//http://localhost:8001/news.html /news.html
//http://localhost:8001/index.html /index.html
//css/dmb.bottom.css
var pathname=req.url;
if(pathname=='/'){
pathname='/index.html'; /*默认加载的首页*/
}
//获取文件的后缀名
var extname=path.extname(pathname);
if(pathname!='/favicon.ico'){ /*过滤请求favicon.ico*/
//console.log(pathname);
//文件操作获取 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);
加入url模块
//引入http模块
var http=require('http');
//fs模块
var fs=require('fs');
//path模块
var path=require('path'); /*nodejs自带的模块*/
//url模块
var url=require('url');
var mimeModel=require('./model/getmime.js');
//console.log(mime.getMime('.css')); //获取文件类型
http.createServer(function(req,res){
//http://localhost:8001/news.html /news.html
//http://localhost:8001/index.html /index.html
//css/dmb.bottom.css
//xxx.json?214214124
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*/
//console.log(pathname);
//文件操作获取 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);
getmine.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';
}
}
继续优化,使其文件类型的获取更加全面
//引入http模块
var http=require('http');
//fs模块
var fs=require('fs');
//path模块
var path=require('path'); /*nodejs自带的模块*/
//url模块
var url=require('url');
//引入扩展名的方法是在文件里面获取到的。
var mimeModel=require('./model/getmimefromfile.js');
//console.log(mimeModel.getMime('.css')); //获取文件类型
http.createServer(function(req,res){
//http://localhost:8001/news.html /news.html
//http://localhost:8001/index.html /index.html
//css/dmb.bottom.css
//xxx.json?214214124
var pathname=url.parse(req.url).pathname;
console.log(pathname);
if(pathname=='/'){
pathname='/index.html'; /*默认加载的首页*/<