본문 바로가기
Programming/Node.js

Node.js에서 404 Page not found 페이지 설정하는 방법

by 혀코 2020. 1. 11.

안녕하세요. 혀코입니다.

오늘은 Node.js에서 404 Page not found 페이지 설정하는 방법에 대해서 알아보겠습니다.

express.js와 handlebar.js의 express view engine인 hbs를 설치 후 페이지 템플릿 설정이 되어있는 상태에서 시작합니다.

이전 포스트를 참고 부탁 드립니다.

https://smilehugo.tistory.com/entry/nodejs-how-to-use-hbs-external-module

 

Node.js에서 hbs 외장모듈 사용하는방법

안녕하세요. 혀코입니다. 오늘은 Node.js에서 hbs외장모듈 사용하는 방법에 대해서 알아보겠습니다. hbs 외장 모듈은 템플릿을 정의하는 handlebar.js의 express.js view engine입니다. hbs를 사용해서 html의 반..

smilehugo.tistory.com

여기에서 404 page not found 페이지를 설정하는 방법은 페이지 설정 맨 마지막 부분, app.listen 함수 바로 윗 부분에 다음과 같이 설정합니다.

app.get('*', (req, res) => {
    res.render('404', {
    	title: '404',
        name: 'Hyukho',
        errorMessage: 'Page not found'
    })
})

404 page not found 페이지를 페이지 설정 맨 마지막 부분에 하는 이유는 맨 처음의 설정된 페이지부터 매치하는지 확인 후 다음 설정된 페이지로 진행되기 때문에 매치하는 페이지가 없다면 출력이 되어야 하기 때문입니다.

물론 이전 포스트에서 세팅했듯이 404페이지도 templates/views 폴더에 아래와 같이 404.hbs로 세팅되었습니다.

<!DOCTYPE html>
<html>
    <head>
        <title>{{title}}</title>
    </head>
    <body>
        {{>header}}
        {{errorMessage}}
        {{>footer}}
    </body>
</html>

 

그리고 다른 페이지의 예를 들어 About 하위 페이지의 404 page not found 페이지를 세팅하는 방법은 아래와 같이 해주면 됩니다.

app.get('/about/*', (req, res) => {
    res.render('404', {
        title: '404',
        name: 'Hyukho',
        errorMessage: 'No article found on Article page'
    })
})

 

이렇게 Node.js에서 404 Page not found 페이지를 설정하는 방법에 대해서 알아봤습니다.

유용하셨다면, 공감과 구독 부탁 드립니다.

감사합니다. :)

댓글