전체 스택 프로젝트를 위한 My Express 애플리케이션 폴더 구조 및 설정

지금까지 저는 모든 풀 스택 프로젝트의 백엔드에서 Nodejs와 Express를 사용해 왔습니다. 좋은 폴더 구조가 어떻게 생겼는지 이해하기 위해 많은 저장소와 개발자 코드를 보았습니다.

폴더 구조에 신경을 쓰는 이유는 무엇입니까?
구조에 관한 모든 것, 코드를 유지 관리할 수 있게 만들고 코드 기반에서 발생하는 버그를 쉽게 찾아낼 수 있습니다. 기여자가 코드 기반을 효율적으로 확장하는 데 쉽게 도움이 됩니다.



폴더 및 파일의 빠른 분류.
프로젝트의 루트에는 configuration 파일이 있는 config.js 폴더가 있으며 데이터베이스 URL과 같은 민감한 데이터의 보안을 손상시키지 않고 안전하고 안전하게 .env 패키지를 사용하여 dotenv 파일에 액세스할 수 있습니다. 응용 프로그램 개발에 중요한 해싱 비밀 및 기타 키.

require("dotenv").config();

const config = {
  env: process.env.NODE_ENV || "development",
  port: process.env.PORT || 3001,
  mongoUri: process.env.MONGODB_URI,
  jwtSecret: process.env.JWT_SECRET || "YOUR_SECRET_KEY",
  braintreeId: process.env.BRAINTREE_MERCHANT_ID,
  braintreePublicKey: process.env.BRAINTREE_PUBLIC_KEY,
  braintreePrivateKey: process.env.BRAINTREE_PRIVATE_KEY,
};

module.exports = config;


다음으로 애플리케이션의 MVC 아키텍처에 도달할 수 있습니다. Model-View-Controller는 애플리케이션의 핵심이며 뷰는 React를 사용하여 클라이언트 폴더에서 처리됩니다.
모델은 데이터베이스 스키마 또는 특정 데이터를 데이터베이스에 저장하려는 방식의 구조를 정의하는 곳입니다. 이 프로젝트에서는 데이터베이스에 MongoDB를 사용했습니다. 문서 모음이며 각 문서는 모델의 인스턴스입니다. 우리는 정의합니다.
컨트롤러는 데이터베이스에서 데이터를 생성, 읽기, 업데이트, 삭제하기 위해 데이터베이스와 상호 작용하는 방식입니다. 서버가 들어오는 요청을 처리하고 사용자 요청에 응답하는 모든 논리는 컨트롤러에서 처리됩니다.
마지막으로 Routes 폴더에는 쿼리 데이터에 노출하고 정보를 서버로 보내는 모든 엔드포인트가 포함되어 있으며 서버에 대한 요청이 올바른 순서로 처리되도록 미들웨어로 다른 컨트롤러 논리가 포함되어 있습니다.

모델-뷰-컨트롤러란 무엇입니까?
이것은 웹 애플리케이션에 일반적으로 사용되는 디자인 패턴이며 가장 인기 있는 디자인 패턴 중 하나입니다. MERN(Mongo, Express, React 및 Node) 애플리케이션의 View 부분은 React 라이브러리에 의해 프런트 엔드에서 처리됩니다. 노드에서 실행되는 익스프레스 기반 백엔드는 컨트롤러, 경로 및 모델이 있는 곳입니다.

다음 프로젝트에서 이 접근 방식을 사용해 보세요. 풀스택 웹 개발 프로젝트를 위한 다른 흥미로운 디자인 패턴을 공유하세요 ^_^

좋은 웹페이지 즐겨찾기