큰 검은 노트 :
검토 : 첫 번째 안녕하세요 세계 응용 프로그램 코아 시작
app.listen (...)
const Koa = require('koa');
const app = new Koa();
app.listen(3000);
//不简写
const http = require('http');
const Koa = require('koa');
const app = new Koa();
http.createServer(app.callback()).listen(3000);
//配置一个应用程序同时作为HTTP或HTTPS等多个地址
const http = require('http');
const https = require('https');
const Koa = require('koa');
const app = new Koa();
http.createServer(app.callback()).listen(3000);
https.createServer(app.callback()).listen(3001);
) (app.callback
적절한 반환 http.createServer()
콜백 메소드는 요청을 처리합니다. 또한 연결 / Express 애플리케이션을 탑재이 콜백 기능 KOA 응용 프로그램을 사용할 수 있습니다.
app.use (기능)
미들웨어는이 응용 프로그램에 추가 할 수있는 방법을 제공.
app.keys =
서명 쿠키 키를 설정합니다.
이들은 KeyGrip로 전달됩니다,하지만 당신은 당신의 자신의 KeyGrip 인스턴스를 전달할 수 있습니다.
app.keys = ['im a newer secret', 'i like turtle'];
app.keys = new KeyGrip(['im a newer secret', 'i like turtle'], 'sha256');
이러한 키 스위치와 사용 가능 { signed: true }
파라미터 서명 쿠키 사용.
ctx.cookies.set('name', 'tobi', { signed: true });
app.context
app.context
그것은에서 만든 ctx
프로토 타입. 당신은 편집 할 수 있습니다 app.context
에 ctx
추가 속성을 추가 할 수 있습니다.
예를 들어,하는 ctx
데이터베이스 참조에 추가 :
app.context.db = db();
app.use(async ctx => {
console.log(ctx.db);
});
참고 :
ctx
속성의 대부분은 사용에있는 getter
, setter
그리고 Object.defineProperty()
정의. 당신은있을 수 app.context
에 사용 Object.defineProperty()
이러한 속성을 편집하려면 (권장하지 않음). 확인 defineProperty
설치된 응용 프로그램은 현재 상위 사용 ctx
및 설정. 따라서, 응용 프로그램 설치 미들웨어 단지 세트.
app.on 오류 처리
그것은하지 않는 한 기본적으로 모든 오류 출력은 stderr로 app.silent
사실이다. 시 err.status
(404) 또는 err.expose
기본 오류 처리기가 오류에 해당하는 출력되지 않습니다. 사용자 지정 오류 처리 로직을 수행하려면, 중앙 집중식 로깅, 당신은 추가 할 수 있습니다 "오류"이벤트 리스너를 :
app.on('error', err => {
log.error('server error', err)
});
//如果 req/res 期间出现错误,并且 _无法_ 响应客户端,
//Context实例仍然被传递:
app.on('error', (err, ctx) => {
log.error('server error', err, ctx)
});
클라이언트와 여전히 오류에 대한 응답은, 데이터가 소켓에 기록되지 않은 경우, 코아 A를 적절한 500 개 응답 "서버 내부 오류가 발생했습니다."
두 경우 모두, 녹화의 목적은 응용 프로그램 수준 "오류입니다."보내드립니다
전자 문서보고 과연이 매우 눈에 기쁘게되고, 대부분 내 글보다 잘 생긴