В механизме правил Node-RED пользовательские узлы являются важным способом расширения его функциональности. Добавляя пользовательские узлы, пользователи могут настраивать узлы в соответствии со своими потребностями для достижения определенных функций. Ниже описано, как провести рефакторинг механизма правил Node-RED и добавить собственные узлы.
1. Подготовьте среду
Сначала убедитесь, что у вас установлены Node.js и npm (менеджер пакетов Node). Затем установите Node-RED через npm:
bashкопировать код npm install -g node-red
2. Создайте собственные узлы
Создайте новую папку в каталоге проекта для хранения кода пользовательского узла.
Создайте JavaScript файлы, такие как custom_node.js
。
существовать custom_node.js
Напишите код для пользовательских узлов в файле. Вот простой пример:
// custom_node.js
const { RED } = require("@node-red/core");
// Определение свойств пользовательских узлов
const node = {
// имя узла
name: "Custom Node",
// тип узла
type: "custom",
// Количество входных и выходных портов узла
inputs: 1,
outputs: 1,
// Варианты конфигурации узлов
config: {
// Здесь определяются атрибуты и значения по умолчанию параметра Конфигурация.
},
// Как обрабатывать входные данные
receive: function (msg) {
// существуют Напишите сюда логику обработки входных данных
// Передайте результат следующему узлу или выведите его непосредственно на следующий узел.
},
};
RED.nodes.registerType("custom", node);
существовать package.json
Добавьте зависимости пользовательского узла в файл:
{
"dependencies": {
"@node-red/core": "^1.0.0" // в соответствии с Node-RED Заменить номером версии
}
}
npm install
команда для установки зависимостей.node_modules
Папку скопировать в Node-RED в папке узла. Обычно Node-RED Папка узла находится в домашнем каталоге пользователя. .node-red
папка. Переместите файл кода пользовательского узла скопировать в .node-red/nodes
папка, место node_modules
Папку скопировать в .node-red/node_modules
папка.Выполнив описанные выше шаги, вы успешно реструктурировали механизм правил Node-RED и добавили собственные узлы. Вы можете дополнительно расширить функции пользовательских узлов по мере необходимости для удовлетворения потребностей конкретных сценариев применения.