Node-RED: How to require Node.js native modules

This documentation is part of the Getting started guide. View the full guide here: How to get started with Node-RED.

Welcome to the Stackhero documentation

Stackhero provides a fully managed Node-RED cloud environment designed to get you building workflows quickly:

  • Built-in MQTT server (Mosquitto) for seamless IoT integration.
  • Full access to the Node-RED admin UI for managing flows and settings.
  • Node-RED Dashboard included for real-time visualization.
  • Dedicated SMTP email server included, with no limits on sending.
  • Effortless one-click updates to keep your instance current.
  • Custom domain names with automatic HTTPS: for example, https://node-red.your-company.com.
  • High performance and strong security with private, dedicated infrastructure.

You can have a secure, production-ready Node-RED cloud hosting instance running in about 5 minutes. Stackhero handles setup, updates, and infrastructure so you can focus on building automations.

In Node-RED functions, trying to require a Node.js native module directly results in the error ReferenceError: require is not defined. This is because Node-RED does not allow you to require a Node.js module directly inside a function.

To resolve this, these modules have been integrated into the Node-RED global context. You can access them using context.global.

For example, if you need the crypto module, declare it like this:

const { crypto } = context.global;

The following Node.js modules are available: util, buffer, child_process, crypto, fs, os, http, http2, https, and zlib.