Include Functions from other files in Node.js

In Node.js, you can include functions or any other exports from other files using the require or import statements, depending on whether you are using CommonJS or ES modules. Here’s a detailed guide:

1. Using CommonJS (Default in Node.js)

To include functions from another file:
Step 1: Export the Function
In the file you want to export from (e.g., functions.js):

// functions.js
function greet(name) {
    return `Hello, ${name}!`;
}

module.exports = greet; // Export the function

Step 2: Import the Function
In the file where you want to use the function (e.g., app.js):

// app.js
const greet = require('./functions'); // Import the function
console.log(greet('Alice')); // Output: Hello, Alice!

2. Using ES Modules

If your project uses ES modules (type: “module” in package.json or .mjs file extension):
Step 1: Export the Function
In the file you want to export from (e.g., functions.mjs):

// functions.mjs
export function greet(name) {
    return `Hello, ${name}!`;
}

Step 2: Import the Function
In the file where you want to use the function (e.g., app.mjs):

// app.mjs
import { greet } from './functions.mjs'; // Import the function
console.log(greet('Alice')); // Output: Hello, Alice!

3. Exporting and Importing Multiple Functions

CommonJS:

// functions.js
function greet(name) {
    return `Hello, ${name}!`;
}

function farewell(name) {
    return `Goodbye, ${name}!`;
}

module.exports = { greet, farewell }; // Export multiple functions
// app.js
const { greet, farewell } = require('./functions');
console.log(greet('Alice'));   // Output: Hello, Alice!
console.log(farewell('Alice')); // Output: Goodbye, Alice!

ES Modules:

// functions.mjs
export function greet(name) {
    return `Hello, ${name}!`;
}

export function farewell(name) {
    return `Goodbye, ${name}!`;
}
// app.mjs
import { greet, farewell } from './functions.mjs';
console.log(greet('Alice'));   // Output: Hello, Alice!
console.log(farewell('Alice')); // Output: Goodbye, Alice!

4. Importing Default and Named Exports Together (ES Modules)

If a file contains both default and named exports:

// functions.mjs
export default function defaultFunc() {
    return 'This is the default export!';
}

export function namedFunc() {
    return 'This is a named export!';
}
// app.mjs
import defaultFunc, { namedFunc } from './functions.mjs';
console.log(defaultFunc()); // Output: This is the default export!
console.log(namedFunc());   // Output: This is a named export!

Summary:

In Node.js, you can include functions from other files using require (CommonJS) or import (ES modules). For CommonJS, export functions using module.exports and import them with require(‘./file’). For ES modules, use export to define exports and import to include them, ensuring type: “module” is set in package.json or using .mjs files. You can export multiple functions as an object or use named/default exports in ES modules. Always use relative paths and maintain consistent module systems. ES modules are recommended for modern applications, while CommonJS is default for older versions of Node.js.

 

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top