nodejs服務啓動程序

<!-- lang: js -->
var http = require("http"), url = require("url"), path = require("path"), fs = require("fs");

http.createServer(function(req, res) {

var pathname = __dirname + url.parse(req.url).pathname;

if (path.extname(pathname) == "") {
	pathname += "/index.html";
}

fs.exists(pathname, function(exists) {
	if (exists) {
		switch (path.extname(pathname)) {
		case ".html":
			res.writeHead(200, {
				"Content-Type" : "text/html"
			});
			break;
		case ".js":
			res.writeHead(200, {
				"Content-Type" : "text/javascript"
			});
			break;
		case ".css":
			res.writeHead(200, {
				"Content-Type" : "text/css"
			});
			break;
		case ".gif":
			res.writeHead(200, {
				"Content-Type" : "image/gif"
			});
			break;
		case ".jpg":
			res.writeHead(200, {
				"Content-Type" : "image/jpeg"
			});
			break;
		case ".png":
			res.writeHead(200, {
				"Content-Type" : "image/png"
			});
			break;
		case ".bmp":
			res.writeHead(200, {
				"Content-Type" : "image/bmp"
			});
			break;
		default:
			res.writeHead(200, {
				"Content-Type" : "application/octet-stream"
			});
		}

		fs.readFile(pathname, function(err, data) {
			res.end(data);
		});

	} else {

		pathname = __dirname + url.parse(req.url).pathname;

		if (route(pathname, req, res)) {
			res.end();
		} else {
			res.writeHead(404, {
				"Content-Type" : "text/html"
			});
			res.end("<h1>404 Not Found</h1>");
		}

	}
});

}).listen(8888, "127.0.0.1");
console.log("Server running at http://127.0.0.1:8888/");

function route(pathname, req, res) {
try {
	var app = require(pathname);
	app.main(req, res);
	return true;
} catch (err) {
	console.log('Error: %s', err.message);
	return false;
}
}
相關文章
相關標籤/搜索