koa 프레임 기초 지식 학습 정리 1
3189 단어 웹 전단
우선 Node 버 전 을 확인 합 니 다.
node-v Koa 는 7.6 이상 의 버 전 을 사용 해 야 합 니 다.만약 당신 의 버 전이 이 요구 보다 낮다 면,먼저 Node 를 업그레이드 해 야 합 니 다.
그리고 복제 본문의 조립 예시 라 이브 러 리.
$ git clone https://github.com/ruanyf/koa-demos.git
이 어 예제 라 이브 러 리 에 들 어가 설치 의존.
$ cd koa-demos
$ npm install
기본 용법
1.1 HTTP 서비스 설정
세 줄 코드 만 있 으 면 Koa 로 HTTP 서 비 스 를 설치 할 수 있 습 니 다.
// demos/01.js
const Koa = require('koa');
const app = new Koa();
app.listen(3000);
이 스 크 립 트 실행
$ node demos/01.js
브 라 우 저 열기,접근http://127.0.0.1:3000 。페이지 에'Not Found'가 표시 되 어 있 는 것 을 볼 수 있 습 니 다.내용 이 발견 되 지 않 았 음 을 표시 합 니 다.코 아 에 게 어떤 내용 을 표시 해 야 하 는 지 알려 주지 않 았 기 때문이다.
1.2 Context 대상
Koa 는 대화 컨 텍스트(HTTP 요청 과 HTTP 답장 포함)를 표시 하 는 Context 대상 을 제공 합 니 다.이 대상 을 가공 하면 사용자 에 게 되 돌아 오 는 내용 을 제어 할 수 있다.
Context.response.body 속성 은 사용자 에 게 보 내 는 내용 입 니 다.
// demos/02.js
const Koa = require('koa');
const app = new Koa();
const main = ctx => {
ctx.response.body = 'Hello World';
};
app.use(main);
app.listen(3000);
위의 코드 에서 main 함 수 는 ctx.response.body 를 설정 하 는 데 사 용 됩 니 다.그리고 app.use 방법 으로 main 함 수 를 불 러 옵 니 다.
ctx.response 는 HTTP Response 를 대표 합 니 다.마찬가지 로 ctx.request 는 HTTP Request 를 대표 합 니 다.
이 데모 실행.
$ node demos/02.js
방문 하 다.http://127.0.0.1:3000 ,이제'헬 로 월 드'를 볼 수 있 습 니 다.
1.3 HTTP Response 의 종류
Koa 의 기본 반환 형식 은 text/plain 입 니 다.다른 유형의 내용 을 되 돌려 주 려 면 먼저 ctx.request.accepts 로 클 라 이언 트 가 어떤 데 이 터 를 받 아들 이 고 싶 은 지 판단 한 다음 ctx.response.type 으로 반환 형식 을 지정 할 수 있 습 니 다.
// demos/03.js
const main = ctx => {
if (ctx.request.accepts('xml')) {
ctx.response.type = 'xml';
ctx.response.body = 'Hello World';
} else if (ctx.request.accepts('json')) {
ctx.response.type = 'json';
ctx.response.body = { data: 'Hello World' };
} else if (ctx.request.accepts('html')) {
ctx.response.type = 'html';
ctx.response.body = 'Hello World
';
} else {
ctx.response.type = 'text';
ctx.response.body = 'Hello World';
}
};
이 데모 실행.
$ node demos/03.js
방문 하 다.http://127.0.0.1:3000 지금 보 이 는 것 은 XML 문서 입 니 다.
1.4 웹 템 플 릿
실제 개발 에 서 는 사용자 에 게 되 돌아 오 는 웹 페이지 를 템 플 릿 파일 로 쓰 는 경우 가 많다.Koa 가 먼저 템 플 릿 파일 을 읽 고 이 템 플 릿 을 사용자 에 게 되 돌려 줄 수 있 습 니 다.아래 의 예 를 보십시오
// demos/04.js
const fs = require('fs');
const main = ctx => {
ctx.response.type = 'html';
ctx.response.body = fs.createReadStream('./demos/template.html');
};
이 데모 실행 해.
$ node demos/04.js
방문 하 다.http://127.0.0.1:3000 템 플 릿 파일 의 내용 을 보 았 습 니 다.
참조 링크:http://www.ruanyifeng.com/blog/2017/08/koa.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
js div 드래그 호 환 i / fireforx js 마우스 위치 깊이 분석이벤트 속성 은 이벤트 가 실 행 될 때 브 라 우 저 페이지 (클 라 이언 트) 에 대한 수직 좌 표를 되 돌려 줍 니 다. 이 두 속성 은 이벤트 가 실 행 될 때 마우스 포인터 가 브 라 우 저 페이지 (클 라...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.