Рубрики
Без рубрики

Введение в Koa.js.

Узнать основы Koa.js, создавая API анализа настроений

Автор оригинала: Mubaris NK.

gjxt4iu.png.png

Первоначально опубликовано на моем блог

Koa.js является минимальным веб-каркасом Node.js, разработанная командой позади Express.js Отказ KOA использует Async-функции, это дает вам преимущество в функциях обратного вызова. По умолчанию KOA не поставляется с любыми людварами. Это делает коа очень минимальным и элегантным. В этом посте мы начнем с создания API, используя koa.js

KOA требует Узел v7.6.0 или выше для ES2015 и async Поддержка функций.

Предпосылки

  • Знание Node.js
  • ES6 Syntax знакомство

Что мы строим?

С помощью KOA мы построим простой Анализ настроений API, который принимает текст в качестве ввода и обеспечивает оценку настроения в качестве вывода. Мы будем использовать следующие пакеты NPM для создания этой API.

Давайте начнем создать этот API.

Привет мир

Начнем с простейшего примера. Во-первых, нам нужно установить KOA. Создайте новый каталог, и мы выполним следующее для установки KOA.

yarn add koa

Пример Hello World прост, как он получает,

const Koa = require('koa');
const app = new Koa();

app.use(async ctx => {
    ctx.body = 'Hello World';
});

app.listen(3000, () => {
    console.log('Server started on localhost:3000');
});

Первая строка импортирует коа. В следующей строке мы инициализируем приложение KOA.

app.use (Функция) это промежуточное программное обеспечение. Это вызывается для каждого запроса, отправленного на сервер. И мы устанавливаем тело как «Hello World». Следовательно, на каждом маршруте мы получим ответ «Hello World». И, наконец, мы слушаем порта номер 3000.

Koa Mardware

Очень легко создать пользовательское промежуточное программное обеспечение в KOA. В последнем разделе мы использовали app.use (Функция) Эта функция может быть использована для создания промежуточного программного обеспечения KOA. Промежуточное программное обеспечение KOA течет в стогах, что позволяет вам выполнять действия ниже по потоку, затем фильтровать и манипулировать откликом вверх по течению. KOA Mardware – простые функции, которые возвращают MardwareFunction С подписью (CTX, Далее) Отказ Когда промежуточное программное обеспечение работает, он должен вручную вызвать Далее () Чтобы запустить промежуточное программное обеспечение «Downstream».

const Koa = require('koa');
const app = new Koa();

app.use(async (ctx, next) => { 
    console.log('1'); 
    await next(); 
    console.log('2');
});
app.use(async (ctx, next) => {
    console.log('3'); 
    await next(); 
    console.log('4');
});
app.use(async (ctx, next) => { 
    console.log('5');
    ctx.body = 'Hello World';
    console.log('6');
});

app.listen(3000, function(){ 
    console.log('Server started on localhost:3000');
});

Если вы ударили localhost: 3000 В браузере вы получите следующую консольный выход. Процесс идет так,

  • Браузер отправляет запрос на сервер
  • Первая промежуточная программа вызывается, печатает «1»
  • Первое промежуточное программное обеспечение вызывает следующее промежуточное программное обеспечение, используя Далее () Отказ Первая пауза, исполнение идет к следующему
  • Вторая промежуточная программа вызывается, печатает «3»
  • Далее () , Вторая пауза
  • Третье промежуточное программное обеспечение вызывается, печатает «5»
  • Третье промежуточное программное обеспечение отправляет ответ на браузер «Hello World»
  • Третий продолжается, печатает «6», а исполнение идет вверх.
  • Вторая промежуточная программа продолжается, печатает «4», выполнение идет вверх.
  • Первая промежуточная программа продолжается, печатает «2».
Server started on localhost:3000
1
3
5
6
4
2

KOA Hedwnwaressares может использоваться для регистрации, обработки исключений, аутентификации и многое другое. Вот Список подразгоний от Koa Wiki Отказ

Давайте перейдем к созданию API анализа настроений.

Введите настроение

Мы будем использовать библиотеку Node.js под названием настроения рассчитать оценки настроения. Эта библиотека выполняет анализ настроения на основе AFINN. Он поставляется со списком слов с его предопределенными оценками. Для каждого предложения он находит средние оценки настроения всех слов в настроении. Он дает счет в диапазоне от -5 до 5, вот -5 – максимально негативное и 5 наиболее положительно. Начнем с установки настроения Отказ

yarn add sentiment

Давайте посмотрим пример того, как это работает

const Sentiment = require('sentiment');
const sentiment = new Sentiment();
let result = sentiment.analyze('Cats are amazing.');
console.log(result);
/*
{ score: 4,
    comparative: 1.3333333333333333,
    tokens: [ 'cats', 'are', 'amazing' ],
    words: [ 'amazing' ],
    positive: [ 'amazing' ],
    negative: [] }
*/
result = sentiment.analyze('Cats are lazy');
console.log(result);
/*
{ score: -1,
    comparative: -0.3333333333333333,
    tokens: [ 'cats', 'are', 'lazy' ],
    words: [ 'lazy' ],
    positive: [],
    negative: [ 'lazy' ] }
*/

Вот Оценка Это сумма оценок настроения всех слов, а Сравнительный это средний балл. Мы заинтересованы в Сравнительный счет.

Давайте интегрируем анализ настроений с нашим приложением KOA.

KOA + настроение

Нам нужно установить KOA-роутер промежуточное программное обеспечение для использования маршрутов в KOA и KOA-BodyParser для анализа запроса тела. Давайте установим их,

yarn add koa-router koa-bodyparser

Теперь мы строим финальную API. Мы будем использовать следующую конфигурацию для API.

  • Опубликовать запрос на Анализ
  • JSON Запрос Тело формата {«Текст»: «Текст, который будет проанализирован»}
  • JSON Ответ формата {«Текст»: «Текст, который будет проанализирован», «Оценка»: 0,3}
  • Оценка настроений в диапазоне от -1 до 1 вместо -5 до 5
const Koa = require('koa');
const Router = require('koa-router');
const Sentiment = require('sentiment');
const bodyParser = require('koa-bodyparser');

const app = new Koa();
const router = new Router();
const sentiment = new Sentiment();


// Analyze a text and return sentiment score in the range of -1 to 1
function analyze(text) {
    const result = sentiment.analyze(text);
    const comp = result.comparative;
    const out = comp / 5;
    return out;
}

// Use bodyparser middleware to parse JSON request
app.use(bodyParser());

// Define POST request route to analyze the text
router.post('/analyze', async (ctx, next) => {
    // Look for text property on request body
    const text = ctx.request.body.text;
    if (text) {
        // Analyze the given text
        const score = analyze(text);
        // Send response
        ctx.body = {
            text,
            score
        };
    } else {
        // Send error if there's not text property on the body
        ctx.status = 400;
        ctx.body = {
            "error": "Please provide a text to analyze"
        };
    }
});

// Use Koa Router middleware
app
    .use(router.routes())
    .use(router.allowedMethods());

// Finally, start the server
app.listen(3000, function(){
    console.log('Server started on localhost:3000');
});

Это наше API анализа настроений. Мы пройдем через его линию по линии.

  • Сначала мы импортируем необходимые библиотеки и инициализируем их.
  • анализировать () принимает текстовый ввод и возвращает его оценку настроения в диапазоне -1 до 1
  • App.use (BodyParser ()) Мы говорим KOA использовать промежуточное программное обеспечение BodyParser для разбора запросов JSON
  • Мы определяем Анализ Маршрут для анализа текста. Этот маршрут принимает только пост запросы.
  • Функция в Анализ Маршрут пытается получить текстовое свойство по запросу. Если это доступно, отправьте ответ на клиента с счет и текста. Если нет, мы отправляем ошибку.
  • Мы говорим KOA использовать маршрутизатор промежуточного программного обеспечения
  • И, наконец, начните сервер с Слушать

Что обвиняет наши настроение API анализа, используя Koa.js. Полный код доступен на этом Github Repo Отказ В части 2 Учебное пособие KOA мы будем покрывать журнал и добавление аналитики на наше настроение API анализа.