码迷,mamicode.com
首页 > Web开发 > 详细

01.Hello Node.js

时间:2017-09-13 13:10:08      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:cache   pat   htm   html   adf   server   end   response   get   

技术分享

程序下载: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

标签:cache   pat   htm   html   adf   server   end   response   get   

原文地址:http://www.cnblogs.com/xiandedanteng/p/7514174.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!