Node.js

App - Not found 오류 구현

수업소개

존재하지 않는 정보에 대한 요청이 들어왔을 때 Not found 오류 메시지를 전송하는 방법을 알아봅니다. 

 

 

 

강의

 

 

 

소스코드

main.js

변경사항

var http = require('http');
var fs = require('fs');
var url = require('url');

var app = http.createServer(function(request,response){
    var _url = request.url;
    var queryData = url.parse(_url, true).query;
    var pathname = url.parse(_url, true).pathname;
    var title = queryData.id;

    if(pathname === '/'){
      fs.readFile(`data/${queryData.id}`, 'utf8', function(err, description){
        var template = `
        <!doctype html>
        <html>
        <head>
          <title>WEB1 - ${title}</title>
          <meta charset="utf-8">
        </head>
        <body>
          <h1><a href="/">WEB</a></h1>
          <ul>
            <li><a href="/?id=HTML">HTML</a></li>
            <li><a href="/?id=CSS">CSS</a></li>
            <li><a href="/?id=JavaScript">JavaScript</a></li>
          </ul>
          <h2>${title}</h2>
          <p>${description}</p>
        </body>
        </html>
        `;
        response.writeHead(200);
        response.end(template);
      });
    } else {
      response.writeHead(404);
      response.end('Not found');
    }



});
app.listen(3000);

 

댓글

댓글 본문
  1. 초딩 개발자
    2021/10/11
  2. pdpd
    211004
  3. 전해성
    21.09.13 완료
  4. 20단국
    2021-09-12 완료
  5. 졸작완성하자
    210907 완료
  6. 혹시 코드를 똑같이 따라 썼는데 본문이 undefined로 나오시는 분들은,
    code파일과 data파일과 node.js등 모든 파일을 담고있는 디렉토리로 이동하신 다음에
    "node code/main.js" 라고 입력해보세요..! 전 이렇게 하니까 됐네요..
  7. 고영히
    0823 완료
  8. 승뇽뇽
    웬료
  9. 박사장
    21 07 28 완료!
  10. labis98
    20210721 completed!
  11. 2021.07.17
  12. warmpeace
    완료~
  13. 황혼이
    너무 좋은데...
    아톰 에디터 syntax 테마 알려 주실 수 있니요?
  14. Jeong Il Haan
    20210415
  15. kujern
    하나도 이해가 가질 않는다.
  16. 슬개골탈구
    해당 내용을 진행하고나니, 본문 출력이 undefined로 나옵니다.
    '파일을 이용해 본문 구현' 영상을 봤을 떄도 본문 출력이 되지 않아 한참을 고생하다가 댓글을 보고 해결했는데,
    또 다시 똑같은 문제가 생기네요 ㅜ 너무 답답합니다
  17. byoonn
    완료
  18. thebluerat
  19. chimhyangmoo
    21.02.18
  20. jeisyoon
    2021.02.07 완료
  21. 마아앙
    2021.01.31
  22. 임찬혁
    완료
  23. 뭄수
    완료
  24. ohhigo
    21/1/22 ★★★★★
    Not found 처리
  25. wnstjd9701
    2021-01-18
  26. 할수이다
    cmd에 왜 아무것도 안뜨는지 모르겠습니다..
  27. 2021.01.04 완료!
  28. 손민철
    20/12/29 완료
  29. 생활둘기
    2020 12 25
  30. kkn1125
    20.12.21 완료~!
  31. 옹옹
    20201123
  32. 이윤재
    20201122완료
  33. 2020.11.03.TUE.
  34. 콜라
    20201014완료
  35. Yong Hyun Lee
    완료 201001
  36. 윤병록
    20.09.24
  37. OQ the YOUNG
    2020.09.08
  38. CodingChan
    2020. 09. 06
  39. 마준
    완료
  40. 마준
    완료
  41. 코딩조아
    20.08.05
  42. 뚜따띠또따
    20/07/31 완료!
  43. 코딩하는렌즈쟁이
    2020-07-24 (금)
    완료!
  44. 리다
    20200713
  45. 불스택
    20.07.10 완료
    감사합니다
  46. 영호팍
    console.log(request.url);을 사용했을 때 나오는 것 같아요. 그래서 저도 님 댓글 보고 궁금해서 console.log(request);로 하고 cmd 실행봤는데 여러 정보가 뜨더라고요. 보니까 url값이 html에서만 2개가 발견 되더라고요. javascript와 css는 이미지 파일이 없어서 1개만 뜹니다. 제가 생각하기에는 html이 이미지를 머금고 있어서 url이 2개가 뜬게 아닐까요!!
    대화보기
    • 영호팍
      출석스
    • Amousk
      좋은강의 감사합니다.
    • 임승원
      HTML로 들어갈 때는 pathname가 '/'이 아니라 '/coding.jpg' 인데
      1. 왜 얘만 /coding.jpg로 뜨는지
      2. 얘만 /coding.jpg로 뜸에도 불구하고 조건문에서 if (pathname==='/')에서 걸러지지 않고 내용이 잘 나오는지
      궁금합니다.
    • hoya
      2020.06.15
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기