程序下载:https://files.cnblogs.com/files/xiandedanteng/helloNodejs.rar
关键代码:
var http=require(‘http‘); var fs=require(‘fs‘); var path=require(‘path‘); var mime=require(‘mime‘); var cache={}; function send404(response){ response.writeHead(404,{‘Content-Type‘:‘text/plain‘}); response.write(‘Error 404:resource you requested not found.‘); response.end(); } function sendFile(response,filePath,fileContents){ response.writeHead(200,{‘Content-Type‘:mime.lookup(path.basename(filePath))}); response.end(fileContents); } function serveStatic(response,cache,absPath){ if(cache[absPath]){ sendFile(response,absPath,cache[absPath]); }else{ fs.exists(absPath,function(exists){ if(exists){ fs.readFile(absPath,function(err,data){ if(err){ send404(response); }else{ cache[absPath]=data; sendFile(response,absPath,data) } } ); }else{ send404(response); } } ); } } var server=http.createServer(function(request,response){ var filePath=false; if(request.url=="/"){ filePath=‘public/index.html‘; }else{ filePath=‘public‘+request.url; } var absPath=‘./‘+filePath; serveStatic(response,cache,absPath); } ); server.listen(3000,function(){ console.log(‘Server is listenning on port 3000.‘); });
时间: 2024-10-10 20:25:38