// 內置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中..."); });