nodejs服务启动程序
nodejs服务启动程序
淮河一梦 发表于3年前
nodejs服务启动程序
  • 发表于 3年前
  • 阅读 16
  • 收藏 0
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

摘要: 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;
}
}
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 11
博文 5
码字总数 43814
×
淮河一梦
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: