Node-RED’i, NodeJS uygulamanız içerisinden doğrudan çalıştırabilirsiniz. Bu genellikle Node-RED’in akış editörünü daha büyük bir uygulama içinde sanki onun bir parçasıymış gibi kullanmak gerektiğinde yapılır. Port çakışması olmaması için Node-RED servisini durdurmalı ve devre dışı bırakmalısınız. Ardından aşağıdaki kodu NodeJS uygulamanıza dâhil ederek Node-RED’i uygulamanız içinden kullanabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
var http = require('http'); var express = require("express"); var RED = require("node-red"); // Create an Express app var app = express(); // Add a simple route for static content served from 'public' app.use("/",express.static("public")); // Create a server var server = http.createServer(app); // Create the settings object - see default settings.js file for other options var settings = { httpAdminRoot:"/red", httpNodeRoot: "/api", userDir:"/home/nol/.nodered/", functionGlobalContext: { } // enables global context }; // Initialise the runtime with a server and settings RED.init(server,settings); // Serve the editor UI from /red app.use(settings.httpAdminRoot,RED.httpAdmin); // Serve the http nodes UI from /api app.use(settings.httpNodeRoot,RED.httpNode); server.listen(8000); // Start the runtime RED.start(); |
Yukarıdaki örnek koddan bahsetmek gerekirse, settings dizisi ile Node-RED ayarlarının tanımlandığını görebilirsiniz. Buradaki gibi gömülü (embedded) uygulamalarda Node-RED yapılandırma dosyası olarak settings.js’yi kullanmaz ayarlar, ilgili ayarlar RED.init aracılığıyla bildirilir. Ayarlar tanımlandıktan sonra server.listen komutu ile de Node-RED’in çalışacağı port ayarlanır.