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.