天天看點

nodejs靜态資源檔案管理

var http = require("http");
var fs = require("fs");
var url = require("url");
var path = require("path");
http.createServer(function(req,res){
	//得到使用者路徑
	var pathname = url.parse(req.url).pathname;
	if(pathname == "/"){
		pathname = "/index.html";
	}
	//拓展名
	var extname = path.extname(pathname);

	//真的讀取這個檔案
	fs.readFile("./static/" + pathname, function(err, files){
		if(err){
			fs.readFile("./static/404.html", function(err, data){
				res.writeHead(404, {"Content-type":"text/html;charset=utf-8"});
				res.end(data);
			});
			return;
		}
		var mime = getMime(extname);
		res.writeHead(200, {"Content-type":mime});
		res.end(files);
	});

	
}).listen(3000, "127.0.0.1");

function getMime(extname){
	switch(extname){
		case ".html":
			return "text/html";
			break;
		case ".jpg":
			return "image/jpg";
			break;
		case ".css":
			return "text/css";
			break;
	}
}