계층형 아키텍처로 프로젝트 작성하기 (트러블슈팅 01)
3계층 아키텍처로 프로젝트를 작성하는 도중 아직 이 계층에 대한 이해가 부족한지 뭘 할때마다 다 오류다..
맨날 생기는 오류라서 다시한번 정리를 해 놓으려고한다.
기존에 ROUTES 폴더에서 한번에 작성했을때는 크기 신경쓰지 않았는데 routres controller service repository 로
나누다보니 뭔 연결이 안되었다는오류 not defind 등등 많은 오류가 생겼다.
오류 1.
라우터에 한번에 작성했을떄의 기억이 많이 남아있어서 습관적으로 라우터에 들어갈 내용을 다 작성하고
컨트롤러 부분으로 넘어갈려고 생각하는 경우가 많았다.
그래서 이런식으로 다 작성을 하고 넘어가려고하니
C:\Users\wfox1\Desktop\hanghae99\EDU\node\Dribbling\BackEnd\node_modules\express\lib\router\route.js:
211
throw new Error(msg);
^
Error: Route.post() requires a callback function but got a [object Undefined] 이런 오류가 생겼다.
라우터 부분에서 게시글을 생성할때 postController 의 createPost 에서 뭔가의 데이터를 불러와야하는데
라우터부터 작성하려고 하다보니 컨트롤러 부분에 아무런 정보도 있지 않아서 발생한 오류.
이래서 노드몬으로 서버를 열려고 시도했을때 안열였던 것...
라우터 부분의 import 의 다른부분의 주석또한 마찬가지다.
안의 내용이 아무것도 없는데 import시키면 마찬가지의 이유로 서버가 안열린다.
라우터 부분
import express from "express";
// //import {prisma} from '../utils/prisma/index.js';
import {PostController} from './contoller.js';
// // import PostService from "./service.js";
// // import PostRepository from "./repository.js";
const router = express.Router();
// // const postRepository = new PostRepository(prisma);
// // const postService = new PostService(postRepository);
const postController = new PostController();
// /* 게시글 생성 */
router.post('/', postController.createPost);
// /* 게시글 목록 조회 */
export default router;
컨트롤러 부분
export class PostController {
// /* 게시글 생성 */
// createPost = async(req,res,next) =>{
// }
}