// 内置http模块,提供了http服务器和客户端功能(path模块也是内置模块,而mime是附加模块) var http=require("http"); var fs=require("fs"); var _dirname="./html" // 创建服务器,创建HTTP服务器要调用http.createServer()函数,它只有一个参数,是个回调函数,服务器每次收到http请求后都会调用这个回调函数。服务器每收到一条http请求,都会用新的request和response对象触发请求函数。 var server=http.createServer(function(req,resp){ console.log("请求地址是:"+req.url); if('GET'==req.method && '/images'==req.url.substr(0,7) && '.jpg'==req.url.substr(-4)){ fs.stat(_dirname+req.url,function(err,stat){ if(err || !stat.isFile()){ resp.writeHead(404); resp.end('File not found'); return; } serve(_dirname+req.url,'application/jpg'); }); }else if('GET'==req.method && '/'==req.url){ serve(_dirname+'/index.html','application/html'); }else{ resp.writeHead(404); resp.end('Unrecongnized cmd'); return; } function serve(path,type){ // 告诉浏览器发送什么样的资源 resp.writeHead(200,{"Content-Type":type}); fs.createReadStream(path).pipe(resp); } }); // 服务器开始运作监听端口 server.listen(3000,"localhost",function(){ console.log("服务器开始运作,监听端口3000中..."); });