일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- CSS
- form
- MongoDB
- ECMAScript
- 자바스크립트
- CLONE
- frontend
- DART
- nodejs
- TypeScript
- ES6
- JavaScript
- HTML
- NextJs
- Session
- Mongoose
- express
- GRID
- 리액트
- Flutter
- pug
- heroku
- react
- clonecoding
- javscript
- API
- graphQL
- Component
- node.js
- backend
- Today
- Total
Enjoy Programming
ERROR 라우터... 연결에 대한 고찰 본문
문제가 생겼다. globalRouter에 지정된 url은 모두 접속이 잘된다.
근데.. users와 videos가 문제다.. 다 같이 적용을 해줬는데
localhost:4000/users 와 videos에 get해오지 못한다
이상한건 users/~~~는 모두 userdetail이 뜨고 video는 모두 video upload만 뜬다... ㅠㅠ 왜이러는거냐..
해결했다.... 몇시간 고찰 끝에...
app.js에서 요부분을 제대로 이해 못했던거다... 대충 이해했던거..
app.use(routes.home, globalRouter);
app.use(routes.users, userRouter);
app.use(routes.videos, videoRouter);
routes해줄때 home, users, videos로 라우팅 해줬는데
이걸 간과했다. 당연히 글로벌 라우터는 home이라는 키값에 " / "root가 들어가 잇으니 globalRouter에 접속할때
localhost:4000/ 이렇게 들어가는거다.. 그러니 문제가 안생긴것 그뒤에 search, join, 등등을 routes해서 get하면
/join, /search이렇게 들어가니까..url이 저거였으니까
근데 userRouter로 접속시 이미 use(routes.users, userRouter)다.. 바꿔말하면 use("/users", userRouter) 인 셈이다...
userRouter.js로 가서 get(routes.users, users) 가 되면 역시 get("/users", users)다..
그러니 처음 접속시부터 localhost:4000/users였으니 userRouter에서 다시 users를 라우팅 하면
localhost:4000/users/users를 해야 users 컨트롤러가 실행되는거다..
videos도 마찬가지... 그냥 users로 바로 갈수 있게 하려면 userRouter.js에 routes.users를 routes.home으로 바꾸면된다...
done!
'JavaScript > Node.JS' 카테고리의 다른 글
Express (Node.js) - partial (Pug) (0) | 2021.04.12 |
---|---|
Express (Node.js) : PUG (0) | 2021.04.10 |
Express (Node.js) MVC pattern 2 (0) | 2021.04.09 |
Express (Node.js) MVC pattern (0) | 2021.04.09 |
Express (Node.js) Core : Routing (0) | 2021.04.08 |