Веб-фреймворки предоставляют ресурсы, такие как HTML-страницы, скрипты, изображения и т. Д. По разным маршрутам. Коа не поддерживает маршруты в основном модуле. Нам нужно использовать модуль Koa-router, чтобы легко создавать маршруты в Koa. Установите этот модуль с помощью следующей команды.
npm install --save koa-router
Теперь, когда у нас установлен Koa-роутер, давайте рассмотрим простой пример маршрута 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, сервер получит запрос get по маршруту «/ hello». Наше приложение 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"
Express предоставляет специальный метод all для обработки всех типов методов http на определенном маршруте с использованием одной и той же функции. Чтобы использовать этот метод, попробуйте следующее —