2017. 11. 28. 09:49ㆍJavaScript/NodeJS
이번에는 작성한 HTML을 서버를 통해 화면에 출력해 주도록 합니다.
index.html 생성합니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>NodeJS Test</title>
</head>
<body>
Hello world!!!
</body>
</html>
그리고 이전 server.js를 수정합니다.
const http = require("http");
const fs = require("fs");
const url = require("url");
http.createServer( (request, response) => {
const path = url.parse(request.url, true).pathname;
if( path === "/" ) {
response.writeHead(200, { "Content-type" : "text/html"} );
fs.readFile(__dirname + "/views/index.html", "utf8", (err, data) => {
if( err ) {
return console.error(err);
}
response.end( data, "utf8" );
});
} else {
response.writeHead(404, { "Content-type" : "text/html; charset=utf-8"} );
response.end("해당하는 URL이 존재하지 않습니다.", "utf8" );
}
}).listen(8080, () => {
console.log( "Server Start. localhost:8080" );
});
파일을 읽어 오기 위해서 File System 모듈의 readFile()을 사용하였습니다.
또한 요청한 경로를 알기 위하여 url 모듈을 사용하였습니다.
또한 response.writeHead(stateCode[, statusMessage][, headers] )를 사용하였습니다.
response.writeHead 메소드는 response.setHeader과 같이 header을 설정하는 메소드 입니다.
결과 적으로 header을 설정하고 response.end( data )를 통하여 응답 Data를 전송하게 됩니다.
이후 브라우저에 http://localhost:8080 라고 입력을 하면 화면에 Hello world!! 가 출력되는 것을 확인할 수 있을 것입니다.
'JavaScript > NodeJS' 카테고리의 다른 글
[NodeJS] Express.js - Hello World!!! (0) | 2017.12.05 |
---|---|
[NodeJS] Express.js 시작 (0) | 2017.12.05 |
[NodeJS] 서버 만들기(HTTP Server) - 1 (0) | 2017.11.27 |
[NodeJS] File System (0) | 2017.11.16 |
[NodeJS] Path (0) | 2017.11.13 |