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;
}
}

좋은 웹페이지 즐겨찾기