程序下载: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.‘);});
01.Hello Node.js
原文地址:http://www.cnblogs.com/xiandedanteng/p/7514174.html