Koa.js-라우팅

웹 프레임 워크는 다양한 경로에서 HTML 페이지, 스크립트, 이미지 등과 같은 리소스를 제공합니다. Koa는 코어 모듈에서 경로를 지원하지 않습니다. Koa에서 경로를 쉽게 생성하려면 Koa-router 모듈을 사용해야합니다. 다음 명령을 사용하여이 모듈을 설치합니다.

npm install --save koa-router

이제 Koa-router가 설치되었으므로 간단한 GET 경로 예제를 살펴 보겠습니다.

var koa = require('koa');
var router = require('koa-router');
var app = koa();

var _ = router();              //Instantiate the router
_.get('/hello', getMessage);   // Define routes

function *getMessage() {
   this.body = "Hello world!";
};

app.use(_.routes());           //Use the routes defined using the router
app.listen(3000);

애플리케이션을 실행하고 localhost : 3000 / hello로 이동하면 서버는 "/ hello"경로에서 get 요청을받습니다. Koa 앱은이 경로에 연결된 콜백 함수를 실행하고 "Hello World!"를 보냅니다. 응답으로.

동일한 경로에서 여러 가지 다른 방법을 사용할 수도 있습니다. 예를 들면

var koa = require('koa');
var router = require('koa-router');
var app = koa();

var _ = router(); //Instantiate the router

_.get('/hello', getMessage);
_.post('/hello', postMessage);

function *getMessage() {
	this.body = "Hello world!";
};
function *postMessage() {
   this.body = "You just called the post method at '/hello'!\n";
};
app.use(_.routes()); //Use the routes defined using the router
app.listen(3000);

이 요청을 테스트하려면 터미널을 열고 cURL을 사용하여 다음 요청을 실행하십시오.

curl -X POST "https://localhost:3000/hello"

특별한 방법, all, 동일한 기능을 사용하여 특정 경로에서 모든 유형의 http 메소드를 처리하기 위해 express에서 제공합니다. 이 방법을 사용하려면 다음을 시도하십시오.

_.all('/test', allMessage);

function *allMessage(){
   this.body = "All HTTP calls regardless of the verb will get this response";
};