Я ищу в Google «структуру узлов для написания API». Итак, Google дает мне много вариантов, таких как Express, Koa, Hapi, Restify и многое другое. Я выбираю Hapi и начинаю исследовать Hapi. Hapi.js — хороший выбор для новичка.
О Hapi.js
Hapi.js — это Node-фреймворк для написания повторно используемых приложений и сервисов. Hapi.js разработан в WalmartLabs под руководством Eran Hammer.
Предварительно требования
- NodeJS
- MongoDB (установите MongoDB, если он не установлен на вашем устройстве)
- Хапи.js
Проверить NodeJS
во-первых, проверьте, установлен ли узел на вашем локальном компьютере или нет. Я уже установил узел v7.7.3, и версия узла должна быть › v4.0
C:\Users\Danish>node -v
v7.7.3
Настройка Hapi.js
mkdir hapiproject
cd hapiproject
npm init
npm install --save hapi
–save сохранит зависимости проекта в файле package.json. это все, что касается hapi.js. Итак, давайте напишем базовый код для запуска сервера hapi на localhost с портом 3000. создайте файл с именем app.js в каталоге hapiproject.
hapiproject/app.js
'use strict';
const Hapi = require('hapi');
const server = new Hapi.Server(); server.connection({ port: 3000, host: 'localhost' });
server.start((err) => {
if (err) { throw err; } console.log('Server Running at : ', server.info.uri); });
Откройте командную строку и выполните команду node app.js. это вернет консольное сообщение, если все пойдет хорошо.
Теперь ваш hapi-сервер работает здесь, http://localhost:3000/, но когда вы открываете его в браузере, он возвращает данные в формате JSON. Из-за отсутствия маршрута, назначенного этому серверу.
{
"statusCode": 404,
"error": "Not Found"
}
Настройка маршрута к серверу Hapi
'use strict';
const Hapi = require('hapi');
const server = new Hapi.Server(); server.connection({ port: 3000, host: 'localhost' });
server.route({ method: 'GET', path: '/', handler: function (request, reply) { reply('Hello, world!'); } });
server.start((err) => {
if (err) { throw err; } console.log('Server Running at : ', server.info.uri); });
В server.route({})три параметра передают метод, путь и обработчик. метод. Чаще всего используются следующие методы: GET, POST, DELETE, PUT. путь: определяется как маршрут, означающий, какие маршруты вы хотите назначить ‘/’ = корневой узел. обработчик: в разделе обработчика вы можете определить свою функцию, которую вы хотите выполнить для этого маршрута.
npm app.js
http://localhost:3000/ ответит Hello World.