(app.use, url 있는 것 == 라우터
라우터가 수백개 이상인 경우 app.js 파일이 엄청 길어질 수 있다.)
1) index.js를 아래같은 디렉토리에 만듬
2) 만든 인덱스를 아래와 같이 불러온다. (app.js 에서)
3) app.use 와 합쳐준다.
-> 이러면 위의 app.use / 와 index.js의 router.get / 가 합쳐저서 그냥 get / 라우터가 되는 것이다.
(분리 했다가 합쳐주는 느낌, 쓸 때만 사용하자는 느낌이다.)
4) user.js 를 만들고 적용해보기
그리고 아래와 같이 같은 방법으로 user 라우터를 가져와서 사용가능
(앞부분에 app.use의 /user 뒤에 router.get의 / 가 붙어서 최종적으로
/user/경로의 요청이 된다.)
-> 모든 라우터 뒤에 (걸리는 라우터가 없으면 404 미들웨어가 실행)
(위와 같이 같은 경로인 경우 그룹화 가능, 주소를 먼저 쓴다.)
(미들웨어의 req 객체에 들어있는 메서드들
req.get (헤더이름) => content type 같은것이 가져와짐 )
(위에서 res.end()는 express 가 아닌 http 메소드 이지만 이거는 써도 괜찮음
위에서 res.set()을 res.setHeader()로도 쓸 수 있다.)
-> res.redirec(주소) 사용 예시
(아래와 같이 위 코드를 express에서 줄여 쓸 수 있다. 그리고 쿠키는 따로 설정해 줘야 한다.)
=> 이 부분은 한 라우터에서 한번만 써야 한다. 응답은 한번만 보내야 한다.
(npm으로 설치)
(여기서, nunjuck.configuer를 사용하여 views 폴더가 넌적스 파일들의 위치가 된다.
(위와같이 넌적스는 html 문법을 따른다. {{}} 인 부분이 express로 바뀐다.
set을 통해서 변수 지정도 가능
| safe 를 통해 <>가 이스케이프 되지 않도록 할 수 있음 (보안성 관련 이슈) )
(for in 문법을 이용하여 반복문 구현 그리고 endfor로 종료
loop.index라는 자체적으로 제공하는 것이 있다. index를 따로 선언하지 않고)
(if 문도 endif를 통해 나가줘야 한다. else if 가 아니라 elif 가 있음
(다른 넌적스 파일을 가져올 수 있음)
(위의 block, endblock 을 이용하면 그 사이에 body.html 이 들어가게 된다. 위 경우 이름을 달리하여 두 block을 다른 위치에 넣음)
(위와 같이 error.status를 설정하여 다음 error로 라우팅 되게 할 수 있다.
new Error 부분이 message로 아래에 들어가게 된다.
err 안에 status, stack 이 같이 들어 있다.
위의 경우 production 즉 배포용이 아닌경우 err를 넣어준다는 의미이다.
배포 중인 상태면 빈 객체로 넣어준다. (status 와 stack 을 안보이게 함, 에러메시지 관리를 통해 보안 강화)
message를 꾸밀 수도 있다.)