Plugins
Node-RED Plugins erweitern die Funktionalität von Node-RED selbst — im Gegensatz zu Nodes, die in Flows verwendet werden. Plugins greifen direkt in die Runtime ein.
Anwendungsfälle
| Anwendungsfall | Beschreibung |
|---|---|
| REST-APIs | Eigene HTTP-Endpunkte für externe Systeme |
| Authentifizierung | Zusätzliche Auth-Middleware |
| Editor-Erweiterungen | Eigene Funktionen im Node-RED Editor |
Beispiel: HTTP-Endpunkt Plugin
Das mitgelieferte Sample Plugin erstellt einen HTTP-Endpunkt, der JSON-Daten zurückgibt.
Plugin-Datei (aplugin/sample_plugin.js)
module.exports = function(RED) {
RED.httpAdmin.get('/sample_plugin', function(req, res) {
res.json({
status: 'ok',
message: 'Sample Plugin ist aktiv'
});
});
}Nach dem Start ist der Endpunkt unter http://localhost:1880/sample_plugin erreichbar.
Registrierung in package.json
Plugins werden im node-red.plugins-Abschnitt registriert:
{
"node-red": {
"plugins": {
"sample_plugin": "nodes/aplugin/sample_plugin.js"
}
}
}Plugin vs Node vs Widget
| Typ | Registrierung | Verwendung |
|---|---|---|
| Node | node-red.nodes | In Flows als Baustein |
| Widget | node-red.nodes + node-red-dashboard-2.widgets | In Flows + Dashboard UI |
| Plugin | node-red.plugins | Global in der Runtime |
Nächste Schritte
- External Tasks — Engine-Integration über External Tasks
- Custom Nodes — Eigene Nodes entwickeln