NodeJS module development

Module

There are a lot of module provided by many people.
Basically, nodejs package are managed by npm.
If you want to develop something in common or additional useful codes, what should we do?
Nodejs provides module development

Simple Example

Add simple module
This is directory structure

yourproject
|- my_module.js
|- my_module2.js

my_module.js and my_module2.js are module sources

Type1

var myModule = {};

myModule.hello = function() {
	console.log('Hello');
};

myModule.double = function(num) {
	return num * 2;
};

module.exports = myModule;

Type2

exports.helloworld = function() {
  console.log('Hello World!');
};

exports.add = function(a, b) {
  return a + b;
};

Test

How to use module?

node test.js

var my_module = require('my_module');
my_module.hello();
console.log(my_module.double(5));

var my_module2 = require('my_module2');
my_module2.helloworld();
console.log(my_module2.add(5, 6));

Run

node test.js

Package like module

Create package.json in your project

|- test.js
|- node_moduels
     |- my_module3
	      |- index.js
	      |- package.json
	      |- lib
		  |- submodule.js

I create module directory whose name is my_module3
my_module3 has main source(index.js), package.json and lib directory.
lib has dependency codes.

module main source code(index.js)

console.log("call index.js");
module.exports = require('./lib/submodule.js');

package.json

package.json is package information

{
  "name" : "my_module3",
  "version" : "0.0.1",
  "description" : "module3",
  "main" : "index.js",
  "author" : "atmarkplant",
  "license" : "MIT"
}

Dependency code(submodule.js)

var submodule = {};

submodule.helloJapan = function() {
  console.log("Hello, Japan!");
};

module.exports = submodule;

Test(test.js)

var my_module = require('my_module3');
my_module.helloJapan();

Run!

node test.js

Ref

[Node.js] モジュール&npmのキホン 〜 JSおくのほそ道