Node-RED:Руководство пользователя/Встраивание: различия между версиями
Myagkij (обсуждение | вклад) |
Myagkij (обсуждение | вклад) Нет описания правки |
||
(не показана 1 промежуточная версия 1 участника) | |||
Строка 1: | Строка 1: | ||
{{Node-RED/Панель перехода}} | {{Node-RED/Панель перехода}} | ||
{{Перевод от Сubewriter}} | {{Перевод от Сubewriter}} | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=Встраивание<ref>[https://nodered.org/docs/embedding nodered.org - Embedding into an existing app]</ref>= | =Встраивание<ref>[https://nodered.org/docs/embedding nodered.org - Embedding into an existing app]</ref>= | ||
Строка 14: | Строка 11: | ||
Ниже – небольшой пример встраивания [[Node-RED]] в более крупное приложение [[Express]]. | Ниже – небольшой пример встраивания [[Node-RED]] в более крупное приложение [[Express]]. | ||
<syntaxhighlight lang="javascript | <syntaxhighlight lang="javascript"> | ||
var http = require('http'); | var http = require('http'); | ||
var express = require("express"); | var express = require("express"); |
Текущая версия от 14:10, 9 сентября 2023
Встраивание[1]
Node-RED можно встроить в более крупное приложение. Типичный сценарий такого симбиоза – это когда вы используете Node-RED для генерирования потоков данных, чтобы потом показать их на веб-панели управления, и все это в рамках одного и того же приложения.
Добавьте «node-red» в зависимости модуля в файле «package.json» своего приложения (вместе со всеми другими нодовыми зависимостями).
Ниже – небольшой пример встраивания Node-RED в более крупное приложение Express.
var http = require('http');
var express = require("express");
var RED = require("node-red");
// Создаем приложение Express:
var app = express();
// Добавляем путь для статического контента,
// который будет обслуживаться из папки «public»:
app.use("/",express.static("public"));
// Создаем сервер:
var server = http.createServer(app);
// Создаем объект «settings»;
// другие опции смотрите в исходном файле «settings.js»:
var settings = {
httpAdminRoot:"/red",
httpNodeRoot: "/api",
userDir:"/home/nol/.nodered/",
functionGlobalContext: { } // активирует глобальный контекст
};
// Инициализируем среду выполнения
// при помощи заданных выше сервера и настроек:
RED.init(server,settings);
// Обслуживаем UI редактора из «/red»:
app.use(settings.httpAdminRoot,RED.httpAdmin);
// Обслуживаем UI http-нод из «/api»:
app.use(settings.httpNodeRoot,RED.httpNode);
server.listen(8000);
// Запускаем среду выполнения:
RED.start();
При использовании этого подхода не используется файл «settings.js» для Node-RED. Вместо этого используются настройки, переданные методу RED.init(), как показано в примере выше.
Впрочем, свойства ниже в настройках не заданы, что позволяет вам настроить экземпляр Express как вам хочется.
- uiHost
- uiPort
- httpAdminAuth
- httpNodeAuth
- httpStatic
- httpStaticAuth
- https
См.также
Внешние ссылки