[라즈베리파이] NODE.JS 를 이용해 간단한 서버 구축하기(2) – 라우팅 설정 및 html 파일 로드하기

 

이번에는 엔드포인트 라우팅 설정 및 해당 라우팅 접근 시 html 파일을 로드해 웹브라우저 보이도록 해 보겠습니다.

엔드 포인트 라우팅은 특정 URL 로 HTTP 요청이 들어왔을 때, 다른 경로로 접근하도록 임의로 경로를 바꿔주는 기능입니다.

 

프로젝트 폴더에 아래 두 파일을 만들어 넣어주세요.

[ index.js ]

var express = require('express')
var fs = require('fs')    // 파일 로드를 위한 모듈
var app = express()

app.locals.pretty = true
app.set('views', './view_file')
app.set('view engine', 'pug')
app.listen(3000, () => {
  console.log("Server has been started")
})

// 최상위 라우트로 접속 시 /hello로 리다이렉트 
app.get("/", (req, res) => {
  res.redirect('/hello')
})

app.get("/hello", (req, res) => {
  // html 파일 로드
  fs.readFile('index.html', (error, data) => {
    if(error) {
      console.log('error :'+error)
    }
    else {
      res.writeHead(200, {'ContentType':'text/html'})
      res.end(data)   // 응답 프로세스 종료 
    }
  })
})

[ index.html ]

<html>
  <head>
    <title>Hello</title>
  </head>
  <body>
    <h1>Hello World!!!</h1>
  </body>
</html>

 

index.js 를 구동시키고 웹브라우저에서 http://localhost:3000/를 입력하면 http://localhst:3000/hello 로 리다이렉트 시키고 해당 주소에서 index.html 파일을 로드하여 웹브라우저에 보여주도록 하는 코드입니다.

아래 명령어로 변경된 실행하세요. (서버 동작을 멈출때는 Ctrl + C)

  • node index.js

 

실행하면 다음과 같이 정상적으로 로드되는 것을 확인할 수 있습니다.

 

Node.js에는 Pug라는 템플릿 엔진이 있습니다. 다음 편에서 이 템플릿 엔진 사용법을 간단히 살펴보겠습니다.

 

 

 

 

You may also like...