require()

Loads a CommonJS module, with createRequire for use inside ESM.

Since Node 0.x; createRequire Node 12.2 Spec ↗

Syntax

require(id)  /  createRequire(import.meta.url)

Parameters

NameTypeRequiredDescription
id string Yes A module name, relative path, or absolute path to load.

Returns

any — The resolved module exports.

Examples

// CommonJS
const { readFileSync } = require('node:fs');
const data = require('./config.json');
console.log(data.port);
Output
3000
// ESM: bridge to require for JSON or CJS-only packages
import { createRequire } from 'node:module';

const require = createRequire(import.meta.url);
const pkg = require('./package.json');
console.log(pkg.name);
Output
my-app

Notes

`require` is synchronous and CommonJS only. In ESM use `import`, or `createRequire` for legacy CJS-only packages. Modern Node can also `import` JSON with an import attribute. Avoid mixing the two systems where possible.

See also