MongoDB를의 기반 Koa2 + 블로그 백엔드 프레임 워크

주요 프레임 워크 : koa2 가족 버킷 + 몽구스 + PM2.

제안을 읽는 현지 음식과 함께 프로젝트를 복제하기 위해, 또는 그들이 안개 볼 수 있습니다 전에.
프로젝트 주소 : https://github.com/YogurtQ/koa-server .
잘못된 경우에, 저를 수정하시기 바랍니다. 의심스러운 경우, 교환을 환영합니다.

아직이 빨리 시작하는 명시 적 단어에 익숙 원래 캐스트를 구축하는 것입니다 표현 koa2 명시 koa2을 사용하려면 우리는 강력하고 ES6 / ES7 더 당신은 정말 멋진 문법을 사용하는 학생들을 추천합니다. 당신은 초보자, 오른쪽에 다음 분류되지 않는다 koa2 경우.

첫째, 설치

+ v7.6.0 Node.js를
NPM + V3.0의가
설치 될 PM2

글로벌 설치된 PM2
npm i -g pm2

설치가 달려있다
npm i

시작 개발
npm run dev

시작 생산
npm run build

시작 테스트
npm run test

둘째, 프로젝트 구조

├─.gitignore                // 忽略文件配置
├─app.js                    // 应用入口
├─config.js                 // 公共配置文件
├─ecosystem.config.js       // pm2配置文件
├─package.json              // 依赖文件配置
├─README.md                 // README文档
├─routes                    // 路由
|   ├─private.js                // 校验接口
|   ├─public.js                 // 公开接口
|   └view.js                    // 页面接口
├─models                    // 模型
|   ├─index.js                  // 配置
|   └user.js                    // schema
├─controllers               // 操作业务逻辑
|      ├─index.js               // 配置
|      ├─login.js               // 登录
|      └test.js                 // 测试
├─services                  // 业务
|      ├─index.js               // 配置
|      └user.js                 // 用户
├─middlewares               // 中间件
|      ├─cors.js                // 跨域中间件
|      ├─jwt.js                 // jwt中间件
|      ├─logger.js              // 日志打印中间件
|      └response.js             // 响应及异常处理中间件
├─logs                      // 日志目录
├─lib                       // 依赖库
|  ├─error.js                   // 异常处理
|  ├─baseDAO.js                 // 基础业务类
|  └mongoDB.js                  // mongoDB配置
├─bin                       // 启动目录
|  ├─.sh/.bat                   // 启动和停止批处理文件
|  └www                         // 启动文件配置

셋째, 항목 설명

1.routes 경로

  • 대중은, 직접 액세스를 확인 할 필요가 없습니다
  • 개인 로그인에 액세스를 통해 인증 후, 필요
  • 첫 페이지 라우팅, 비 본질적인를보기

2.views 페이지

  • 페이지 디렉토리, 기본 홈 페이지가 index.html을 수정할 수 있습니다 루트 / 뷰의 사용에 대한 템플릿 엔진 자체 설치
  • 지금은 전면과 후면 끝, 프록시 서버에 파일의 프론트 엔드를 분리, 연습하고있다. DIST 파일은 VUE 프로젝트의 패키지의 nginx에 던져,하지만 순서 프레임의 무결성을 보장하기 위해, 또는 뷰 디렉토리를 유지하려면 수있는 바와 같이,

3.services 사업

  • 기업은 일반적으로 서비스에 직접 배치되도록하는 index.js 동작은 하위 폴더에 스캔 JS 파일을 현재의 비즈니스 클래스 폴더를 스캔 자동으로 등록하지만,하지 않습니다되는 폴더, 특별한 상황, 새로운 하위 폴더가있는 경우 이러한 프레임 fileService 밑에 디렉토리와 같은 재량
  • 필요한 경우 서비스 클래스를 작성 사용, 따라서 지원 노드 버전을 필요로하고, BaseDao 몇 가지 기본적인 방법이있다하여 찾기를 다시 작성 피하고, 클래스 BaseDao lib 디렉토리에서 상속하는 /와 같은 다른 삭제 셀프 서비스 확장에
  • 서비스 수출 클래스 이름은 JS 파일 이름과 일치하는

4.models 모델

  • 특별한 요구가있는 경우 서비스하는 index.js 파일, 하위 폴더 및 재량을 만들
  • 실질적 몽구스 모델 스키마 몽구스 방법 필드 타입, 검증 규칙을 정의하는 데있어서,

5.controllers 컨트롤러

  • 특별한 요구가있는 경우 서비스하는 index.js 파일, 하위 폴더 및 재량을 만들
  • , 인해, 디렉토리는 방법 비동기 방법은 그래서, 비동기 / await를 채택 데이터베이스 koa2를 작동 할 수있는 필요에 상응하는 컨트롤러를 라우팅하는 방법은 비동기 쓰기 문제를 확인합니다.
  • 쓰기 형식 controller.js 방법은 다음과 같습니다 " '방법의 URL을'비동기 기능 ()", 즉 ""요청 유형 요청 주소 '처리 방법 "방법은 인터페이스 API에 통합, 대문자'/ API '시작

6.pm2

  • 주로 가드 응용 프로그램에 사용 PM2는, 자기 학습에 관심이있는
  • 필요 설치하거나 자신의 스크립트를 수정할 수 있도록 PM2 KOA하지 프로젝트해야하지만, 스크립트의 사용으로 인해이 PM2 명령을 package.json

기타 (7)

  • 너무 많은 설명없이 다른 카탈로그 설명 참조 장 프로젝트 구조,
  • 프로필 config.js를 참조하십시오

추천

출처www.cnblogs.com/yogurtq/p/12155623.html