Ниже приведен простой/минимизированный воспроизводимый пример.
Код: Выделить всё
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/marc/.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("/tmp/OpenHaus/plugins/09d24b11-041f-4d4b-911c-f2ab04b4f60d.sock");
server.listen(8081);
// Start the runtime
RED.start();
require("./nodes/uppercase.js")(RED);
- "uppercase.js"
- "uppercase.html"
Код: Выделить всё
module.exports = function (RED) {
function HelloWorldNode(config) {
console.log("Hello World node created")
RED.nodes.createNode(this, config);
this.on("input", (msg, send, done) => {
msg.payload = String(msg.payload).toUpperCase();
send(msg);
if (done) {
done();
}
});
}
RED.nodes.registerType("uppercase", HelloWorldNode);
}
Код: Выделить всё
RED.nodes.registerType('uppercase', {
category: 'text',
color: '#FFCC66',
inputs: 1,
outputs: 1,
icon: 'font-awesome/fa-smile-o',
label: function () {
return this.name || "uppercase"; // this gets displayed in the flow editor!
//return "asldkjfaölsdfkj";
},
defaults: {
enabled: { value: true },
}
});
Подробнее здесь: https://stackoverflow.com/questions/797 ... pplication
Мобильная версия