koa 대형 웹 프로젝트 에서 루트 장식 기 를 사용 하 는 방법 예시

3133 단어 koa경로 장식 기
1.반복 바퀴 만 들 기 에 대한 설명
npmjs 에서 koa 경로 장식 기 에 관 한 몇 개의 가방 을 검색 한 결과 저 는 몇 개의 가방 에서 작가 의 사 고 는 전단 개발 의 사상 에 만 제한 되 고 프로젝트 의 층 이 명확 하지 않 습 니 다.저 희 는 kow-web 프로젝트 를 개발 하면 자바-web 에서 프로젝트 의 층 을 나 누 는 사상 에 따라 프로젝트 를 쓸 수 있 고 프로젝트 의 구조 가 뚜렷 합 니 다.본인 이 이 가방 을 포장 한 것 도 자바-web 개발 과정 에서 프로젝트 를 4 층 구조 로 나 누 었 습 니 다.
1.controllers:경로 제어
2.server:업무 논리 적 판단 에 자주 사용 된다.
3.dao:데이터 베 이 스 를 조작 하 는
4.models:건축 표 에 관 한 데이터 모델
2.koa 2-router-decors 가방 의 사용 절차
1.프로젝트 를 구축 하고 레이 어 링 디 렉 터 리 를 만 듭 니 다.
2.설치

npm install koa2-router-decors
// or
yarn add koa2-router-decors
3.미들웨어 에서 우리 가 설치 한 가방 을 사용 합 니 다.

import { resolve } from 'path';
import Route from 'koa2-router-decors';
//     config     
const API_VERSION = '/api/v1';
/**
 * @Description:        
 * @param {String} 
 * @return: 
 */
const dir = path => resolve(__dirname, path);

/**
 * @Description:        controllers       
 * @param {type} 
 * @return: 
 */
export default (app) => {
 //               
 const apiPath = dir('../controllers/*');
 //          
 const route = new Route(app, apiPath, API_VERSION);
 route.init();
};
4.미들웨어 사용
5、controllers 폴 더 에 장식 기 사용

@controller('/user')
export class UserController extends BaseController {
 constructor() {
  super();
 }
 /**
  * 
  * @api {post} /api/v1/user/create/     
  * @apiDescription        
  * @apiName createUser
  * @apiGroup users
  * @apiVersion 0.1.0
  * @apiParam {string} username="  "    
  * @apiParam {string} mobile     
  * @apiParam {string} email   
  * @apiParam {string} password   
  */
 @post('/create')
 @required({ body: ['username', 'mobile', 'password'] })
 async createUser(ctx) {
  const result = await UserServer.createUser(ctx.request.body);
  ctx.success(result);
 }
 ....
}
6.구체 적 인 코드 는 example 에서 쓴 것 을 참고 할 수 있 습 니 다.
3.example 코드 가 달 리 는 것 에 대한 설명
1、mysql 사용
2.my sql 건축 표 sql

CREATE TABLE `user` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `username` varchar(30) NOT NULL,
 `mobile` varchar(11) DEFAULT NULL,
 `email` varchar(20) DEFAULT NULL,
 `password` varchar(255) NOT NULL,
 `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
 `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8
3.example 루트 디 렉 터 리 아래.env 파일 만 들 기

DB_HOST=     
DB_USERNAME=      
DB_PASSWORD=       
DB_DATABASE=    
4.원본 주소,어린이 가 문 제 를 제기 하 는 것 을 환영 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기