간단한 Nodejs MC 패턴

Google에서 찾을 수 있는 많은 MC 패턴이 있습니다.
오늘은 제가 가장 좋아하는 MC 패턴에 대해 이야기 해보려고 합니다. 저도 PHP 개발자입니다. PHP에서 가장 인기 있는 프레임워크 중 하나는 Laravel입니다. 저는 Laravel MVC 패턴을 좋아합니다.
프로젝트를 빌드할 때 Laravel MVC 패턴을 따르려고 합니다.

내가 좋아하는 MC 패턴을 하자.

전제 조건
계속 진행하기 전에 다음이 필요합니다.
  • 시스템에 Node.js가 설치되었습니다.
  • 컴퓨터에 mongoDB를 설치합니다.

  • 1 단계
    MongoDB에 데이터베이스를 만들고 컬렉션 이름도 만듭니다.



    2 단계
    cmd 터미널을 열고 npm init -y 입력
    다음 패키지를 설치하십시오.
  • 익스프레스
  • 몽구스
  • 바디 파서
  • 몽구스
  • 노드몬

  • "dependencies": {
        "body-parser": "^1.20.0",
        "express": "^4.17.3",
        "mongoose": "^6.3.0"
      },
      "devDependencies": {
        "nodemon": "^2.0.15"
      }
    

    https://www.npmjs.com/ 사이트로 이동하여 이 패키지를 찾으십시오.

    3단계
    다음 파일 구조가 있습니까?



    4단계
    새 파일 index.js를 경로 폴더 [src/routes/index.js]에 만들고 이 코드를 작성합니다.

    const express = require('express');
    
    const route = (app)=>{
        //unknowen route
        app.use('*', (req, res)=> res.status(404).json({status:"fail", data:"Route does not exist"}));
    }
    
    module.exports = route;
    


    4단계
    이제 app.js 파일로 이동하여 이 코드를 작성합니다.

    const express = require('express');
    const route = require('./src/routes/index');
    const dbConnection = require('./src/utils/dbConnection');
    const bodyParse = require('body-parser');
    
    const app = new express();
    //use app
    app.use(bodyParse.json());
    app.use(bodyParse.urlencoded({ extended: true }));
    
    //mongoose DB connnection
    dbConnection();
    //Route connect
    route(app);
    
    module.exports = app;
    


    5단계
    기본 설정을 종료하는 중입니다. index.js [root index] 파일로 이동하여 이 코드를 작성합니다.

    const app = require('./app');
    
    
    app.listen(5000,function () {
        console.log("This Server is running from 5000 port")
    });
    


    자, 이제 기본 설정을 마쳤습니다. 터미널을 열고 nodemon index.js를 입력합니다. 모두 정상이면 이미지로 표시됩니다.



    이제 데이터베이스 연결이 정상이며 앱을 성공적으로 실행합니다. MC패턴을 하자

    6단계
    route 폴더에 userRouterApi.js 파일을 생성합니다. [src/routes/userRouterApi.js] 그리고 이것을 작성하십시오

    const express = require('express');
    const UserController = require('../controllers/UserController');
    const router = express.Router();
    
    router.get('/test-user-api', UserController.testUser)
    
    module.exports = router;
    


    7단계
    컨트롤러 폴더 [src/controllers/UserController.js]에 이름이 UserController.js인 다른 파일을 만들고 다음을 작성합니다.

    module.exports = class UserController{
    
            static testUser = async(req, res)=>{
    
                try{
    
                    return res.status(200).json({
                      code: 200,
                      message: "Test User api call",
                      data: "Test User api call",
                    });
    
                }catch(error){
                  res.status(501).json({
                    code: 501,
                    message: error.message,
                    error: true,
                  });
                }
            }
    
    }
    


    8단계
    이제 route 폴더 [src/roues/index.js]에 있는 index.js 파일로 이동하여 다음을 작성하십시오.

    const express = require('express');
    const userRouterApi = require('./userRouterApi');
    
    const route = (app)=>{
    
        //All user router 
        app.use('/api/v1', userRouterApi);
    
        //unknowen route
        app.use('*', (req, res)=> res.status(404).json({status:"fail", data:"Route does not exist"}));
    }
    module.exports = route;
    


    이제 사용자 컨트롤러 첫 번째 경로를 완료했습니다. 그것은

    http://localhost:5000/api/v1/test-user-api



    우편 배달부를 열고 이 URL을 실행하면. 이 출력 아래에서 볼 수 있습니다



    이 프로젝트에서는 다른 폴더도 볼 수 있습니다. 미들웨어, 모델, 리포지토리 및 유틸리티와 같습니다.

    미들웨어 폴더 - 모든 미들웨어 관련 코드를 작성할 수 있습니다.
    모델 폴더 - 이 폴더에 모든 모델을 작성할 수 있습니다.
    repositories 폴더 - 리포지토리 패턴에 대해 알고 있으면 코드가 제대로 구성됩니다. 다른 날에는 리포지토리 패턴에 대해 이야기하겠습니다.
    utils 폴더 - jwt, 인증, databaseConncetion 등과 같은 모든 추가 기능. 이 폴더를 추가할 수 있습니다.

    그게 다야. 행복한 배움 :) .
    [도움이 되셨다면 저장소에 별점 😇]
    https://github.com/kamruzzamanripon/simple-node-mc-pattern

    좋은 웹페이지 즐겨찾기