Search code examples
npmnode-red

use an external js library in a node-red function


I've installed a js library https://www.npmjs.com/package/fft with npm, how can I make this available in node-red functions ?


Solution

  • This is covered Writing Functions sections of the Node-RED docs

    You need to add npm modules to the settings.js file. You can find this file in ~/.node-red/

    The section you are looking for is the functionGlobalContext section.

    ...
    functionGlobalContext: {
       fft: require('fft')
    },
    ...
    

    You would then access the module in the function node with the following:

    var FFT = context.global.get('fft');
    var fft = new FFT(n, inverse);
    ...
    

    Also be careful where you installed the fft module, it needs to be either in ~/.node-red/node_modules or installed globally so it is accessible to Node-RED.

    EDIT:

    More recent versions of Node-RED (v1.3.0 onward) have support for loading modules directly in the function node. The docs have been updated to cover this.