Create a Node - austral-electronics/Austral_Support GitHub Wiki

^ Back to Node-Red

 cd ~/git
 mkdir node-lower-case
 cd node-lower-case
 npm init

Questions for creating package.json :

 name : node-red-austral-lower-case
 description : A simple lower case test
 author : Austral

Once generated, you must added a node-red section, Note : add ',' after the license:

nano package.json

{
    "name" : "node-red-austral-lower-case",
    ...
    "license": "ISC",
    "node-red" : {
        "nodes": {
            "lower-case": "lower-case.js"
        }
    }
}

nano lower-case.js

module.exports = function(RED) {
    function LowerCaseNode(config) {
        RED.nodes.createNode(this,config);
        var node = this;
        node.on('input', function(msg) {
            msg.payload = msg.payload.toLowerCase();
            node.send(msg);
        });
    }
    RED.nodes.registerType("lower-case",LowerCaseNode);
}

nano lower-case.html

<script type="text/javascript">
    RED.nodes.registerType('lower-case',{
        category: 'function',
        color: '#a6bbcf',
        defaults: {
            name: {value:""}
        },
        inputs:1,
        outputs:1,
        icon: "file.png",
        label: function() {
            return this.name||"lower-case";
        }
    });
</script>

<script type="text/html" data-template-name="lower-case">
    <div class="form-row">
        <label for="node-input-name"><i class="icon-tag"></i> Name</label>
        <input type="text" id="node-input-name" placeholder="Name">
    </div>
</script>

<script type="text/html" data-help-name="lower-case">
    <p>A simple node that converts the message payloads into all lower-case characters</p>
</script>

Create 'icons' directory



Copy a .png icon, transparent background, 40 x 60 in size.

Install/Modify the node (use a second console with node-red logs)

 killall node-red
 cd ~/.node-red && npm install ~/git/nodes && cd ~/git/nodes/nodes && node-red

This creates a symbolic link to your node module project directory in ~/.node-red/node_modules so that Node-RED will discover the node when it starts

Debug

Just use npm link in your git directory to create a global link.

Then use npm link node-red-contrib-mynode in your Node-red workspace dir to "install" the node as a symbolic link.

Substitute the package name, of course.

https://discourse.nodered.org/t/how-to-proper-debug-custom-node/9308/13

Restart node-red automatically

from https://nodemon.io/

video https://www.youtube.com/watch?v=KMZJvktiAWE

 npm install -g nodemon
⚠️ **GitHub.com Fallback** ⚠️