본문 바로가기

개발관련/javascript

[nodejs]nodejs로 만들어본 간단한 파일 서버

아래 링크에 있는 예제인데, 버전이 달라서 그런지 그대로 치면 안돌아간다..
그래서 최신 버전(그래봐야 0.6)으로 변경해서 올림.
http://net.tutsplus.com/tutorials/javascript-ajax/learning-serverside-javascript-with-node-js/
 

파일명 simpleStaticFileServer.js

실행 

$ node simpleStaticFileServer.js


브라우저에서 아래 URL에 접속

http://localhost:8080/simpleStaticFileServer.js


요딴식으로 나온다. (파일경로를 정확히 지정해 줘야하니 살짝 귀찮.....ㅡㅡ;)


소스 

var util = require("util"),
        http = require("http"),
        url = require("url"),
        path = require("path"),
        fs = require("fs");


http.createServer(function (request, response) {
        var uri = url.parse(request.url).pathname;
        var filename = path.join(process.cwd(), uri);
        util.puts("filename : " + filename);
        path.exists(filename, function(exists){
                if(!exists){
                        response.sendHeader(404,{"Content-type":"text/plain"} );
                        response.write("404 Not Found\n");
                        response.close();
                        return;
                }

                fs.readFile(filename, function(err, data){
                        if(err){
                                console.log("error!!!");
                                response.writeHead(500, {"Content-type":"text/plain"});
                                response.write(err + "\n");
                                response.end();
                                return;
                        }

                        util.puts("data : " + data);
                        response.statusCode = 200;
                        response.write(data, "binary");
                        response.end();
                });
        });
}).listen(8080);


'개발관련 > javascript' 카테고리의 다른 글

Dom Script 참고 링크  (0) 2011.04.26
Jquey로 만드는 티커(ticker) 링크모음  (0) 2011.04.26