Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
doc:1605:643.mgul.16051-01_32_01 [2020/06/20 18:20] kostylev |
doc:1605:643.mgul.16051-01_32_01 [2020/06/23 12:59] (текущий) kostylev [Программные зависимости] |
||
---|---|---|---|
Строка 29: | Строка 29: | ||
* express-graphql - модуль, связывающий фреймворк express и graphql | * express-graphql - модуль, связывающий фреймворк express и graphql | ||
* fetch - модуль для отправки асинхронных запросов | * fetch - модуль для отправки асинхронных запросов | ||
- | Все вышеперечисленные модули устанавливаются по-отдельности с помощью команды: | + | Все вышеперечисленные можно установить по-отдельности с помощью команды: |
<code>$ npm install "имя пакета"</code> | <code>$ npm install "имя пакета"</code> | ||
+ | Также все программные зависимости можно установить одной командой. Данный процесс описан в разделе "Установка программного интерфейса на сервер". | ||
Все вышеописанное программное обеспечение необходимо устанавливать на операционные системы семейства Linux и Windows. При использовании Windows единственным ограничением будет необходимое использование операционной системы Windows 7 или выше. | Все вышеописанное программное обеспечение необходимо устанавливать на операционные системы семейства Linux и Windows. При использовании Windows единственным ограничением будет необходимое использование операционной системы Windows 7 или выше. | ||
- | ====== Установка программного интерфейса ====== | + | ====== Установка программного интерфейса на сервер ====== |
+ | ===== Установка NO-SQL базы данных Redis ===== | ||
Сначала необходимо установить кэширующее средство Redis. Для этого: | Сначала необходимо установить кэширующее средство Redis. Для этого: | ||
- | 1. Установим пакет build-essential: | + | - Обновим пакет apt: |
- | <code>$ sudo apt-get install build-essential</code> | + | |
- | 2. Обновим пакет apt: | + | |
<code>$ sudo apt update</code> | <code>$ sudo apt update</code> | ||
- | 3. Установим Redis | + | 2. Установим пакет build-essential: |
+ | <code>$ sudo apt-get install build-essential</code> | ||
+ | 3. Установим Redis: | ||
<code>$ sudo apt install redis-server</code> | <code>$ sudo apt install redis-server</code> | ||
- | 4. Перезагрузим Redis | + | 4. Перезагрузим Redis: |
<code>$ sudo systemctl restart redis.service</code> | <code>$ sudo systemctl restart redis.service</code> | ||
- | 5. Поставим автозапуск сервера Redis при запуске сервера | + | 5. Поставим автозапуск сервера Redis при запуске сервера: |
<code>$ sudo systemctl enable redis.service</code> | <code>$ sudo systemctl enable redis.service</code> | ||
- | 6. Проверим работу Redis | + | 6. Проверим работу Redis: |
<code>$ redis-cli</code> | <code>$ redis-cli</code> | ||
- | 7. Введем команду | + | 7. Введем команду: |
<code>$ ping</code> | <code>$ ping</code> | ||
В результате должно вывестись сообщение "PONG", что будет означать успешную установку Redis | В результате должно вывестись сообщение "PONG", что будет означать успешную установку Redis | ||
+ | ===== Установка Node.js ===== | ||
+ | |||
+ | 1. Установим сам Node.js: | ||
+ | <code>$sudo apt install nodejs </code> | ||
+ | 2. Установим менеджер пакетов: | ||
+ | <code>$sudo apt install npm </code> | ||
+ | |||
+ | ===== Установка программных зависимостей ===== | ||
+ | Для установки ранее описанных программных зависимостей необходимо создать файл package.json, находящийся в приложении 1 данного программного документа, после чего, поместив его в директорию проекта, ввести команду: | ||
+ | <code>$npm install</code> | ||
+ | Все необходимые программные зависимости установятся одной командой. | ||
====== Настройка программного интерфейса ====== | ====== Настройка программного интерфейса ====== | ||
Строка 61: | Строка 74: | ||
app.use('/GraphQL',GraphQLRouter) | app.use('/GraphQL',GraphQLRouter) | ||
</code> | </code> | ||
+ | Также допустимо и отчасти рекомендуется использовать GraphQL явно, вставляя его в основной файл Express-приложения для большего быстродействия, без добавления в папку routes. | ||
====== Проверка работоспособности ====== | ====== Проверка работоспособности ====== | ||
Строка 78: | Строка 92: | ||
|Redis connection failed | База данных Redis, необходимая для работы программного интерфейса, либо выключена, либо работает неисправно. | Проверить запущена ли база данных Redis. В случае повторного возникновения данного сообщения перезагрузить ее, или переустановить, при необходимости. | | |Redis connection failed | База данных Redis, необходимая для работы программного интерфейса, либо выключена, либо работает неисправно. | Проверить запущена ли база данных Redis. В случае повторного возникновения данного сообщения перезагрузить ее, или переустановить, при необходимости. | | ||
+ | ====== Приложение 1 ====== | ||
+ | ===== Файл package.json ===== | ||
+ | <code> | ||
+ | { | ||
+ | "name": "diplom", | ||
+ | "version": "0.0.0", | ||
+ | "private": true, | ||
+ | "scripts": { | ||
+ | "start": "node ./bin/www" | ||
+ | }, | ||
+ | "dependencies": { | ||
+ | "cookie-parser": "~1.4.4", | ||
+ | "debug": "~2.6.9", | ||
+ | "express": "~4.16.1", | ||
+ | "express-graphql": "^0.9.0", | ||
+ | "fetch": "^1.1.0", | ||
+ | "graphql": "^15.0.0", | ||
+ | "http-errors": "~1.6.3", | ||
+ | "moment": "^2.24.0", | ||
+ | "morgan": "~1.9.1", | ||
+ | "node-fetch": "^2.6.0", | ||
+ | "node-jq": "^1.11.0", | ||
+ | "pug": "2.0.0-beta11", | ||
+ | "redis": "^2.8.0", | ||
+ | "request": "^2.88.0", | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </code> | ||