이번에는 작성한 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

+ Recent posts