This is an example of building a simple Node.js module. The code is super simple, but it should give you a good feel for how it is done. The magic of the Node.js module system is performed mostly by the require function, which is similar to PHP’s include/require statements.
When you perform a require, Node.js looks for a file in a few different locations. They all have their purposes, but for this demo, we’ll be using the node_modules subdirectory. Simply create this directory in the same directory as your main application code. Then, inside of the node_modules directory, add another subdirectory, but this time it will be named after your module. For this example I just use the phrase test.

Node.js Module Structure
(PS, you can ignore the package.json files, they are used for some more advanced magic).
Now that you have the necessary files in place, we need some code to put inside of them. The following example is really simple, but it’s a good start:
app.js
var greeter = require('test');
greeter.hello("Monkey");
greeter.bye("Steven");
node_modules/test/index.js
module.exports = {
hello: function(name) {
console.log("Hello, " + name);
},
bye: function(name) {
console.log("Goodbye, " + name);
}
};
Example output
$ node app.js Hello, Monkey Goodbye, Steven
Simple, huh?
Node provides the aptly named module object for your module to work with. What you want to do is assign your object to it’s exports attribute. Once you do that, this object is now returned to your calling app as the result of the require function.
Thomas Hunter II
Latest posts by Thomas Hunter II (see all)
- Creating and Integrating a Node Lambda function with API Gateway - 2018-04-02
- Developing Cobalt Dungeon using Phaser and Cordova - 2018-03-27
- Cobalt Dungeon for iOS is now available - 2018-03-12