Node-RED:Руководство пользователя/Встраивание: различия между версиями
Myagkij (обсуждение | вклад) |
Нет описания правки |
||
Строка 14: | Строка 14: | ||
Ниже – небольшой пример встраивания [[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"); |
Версия от 20:06, 23 мая 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
См.также
Внешние ссылки