I have created one node package which i explained in previous tutorial. That package is published at Node package manager site and few people have downloaded that as well. In this tutorial i am going to explain how to create a NodeJS NPM package and publish it at npmjs.org.
Before building the Node module you need some JavaScript skills. But let’s make it simple, we will develop one simple module which will take two numbers and operator(+,-,*,/) as input and print the result accordingly. Pretty simple to code in JS but let’s do it in Node.js.
Directory Structure :
--------package.json
--------lib
--------------index.js
Yes this is it. Our main code will be living at index.js file. Let us create the package.json file because for Node module it is very very important.
Creating Package.json :
Here is package.json file which i have created for our node calculator.
"name": "nodecalc",
"version": "0.0.1",
"description": "This package will return addition of two numbers",
"main": "./lib/index.js",
"repository": {
"type": "git",
"url": "https://github.com/codeforgeek/nodecalc"
},
"keywords": [
"sweet-lstat"
],
"author": {
"name": "Shahid Shaikh"
},
"readme": "# Add two numbers (for learning purpose)nnDemo module for codeforgeek.com tutorialnn## Installnn npm install nodecalcnnn## APInn### -calc(a,b,p) n where, n a=number,nb=number,p=operator",
"readmeFilename": "README.md",
"dependencies": {},
"devDependencies": {},
"optionalDependencies": {},
"engines": {
"node": "*"
},
"bugs": {
"url": "https://github.com/codeforgeek/nodecalc/issues"
},
"homepage": "https://github.com/codeforgeek/nodecalc",
"_id": "[email protected]",
"scripts": {},
"_shasum": "db9a913c2f8893d477472647917493f2c0949adb",
"_from": "nodecalc@"
}
I am sure you will say WTF is this. You will come to know the importance of each lines when we publish the app. Now let’s move ahead and create simple module in JavaScript which accept two number and operator and return the result.
Coding the actual module : NodeCalc
Create new file as “index.js” in lib folder and place this code in it.
if(a==="" || b==="" || p==="") {
return "Please provide all parameters";
}
switch(p) {
case '+': {
return a+b;
break;
}
case '-': {
return a-b;
break;
}
case '*': {
return a*b;
break;
}
case '/': {
return a/b;
break;
}
default:{return;}
}
}
exports.calc=calc; //very important line
You know what this is it. Now what we need to do is to publish this module at Node repository.
Publish Package to NPM:
First go to npmjs.org and create new account. Its simple and easy. Once you do it, open up your terminal and type following command.
It will ask your user name, password and email. You can even create new account from here too. But doing it before is helpful. Here is screen shot for help.
Once you did this step. What you need to do is publish it.
After this step here is my module page at npmjs.org.
Installing Nodecalc module and testing it:
Let’s test our module. Create any folder and switch to that folder using terminal and type.
Once done check whether node_modules is created on working folder or not. It should be there, now create any JS file and paste following code.
console.log(math.calc(10,20,'+'));
console.log(math.calc(20,10,'-'));
console.log(math.calc(10,20,'*'));
console.log(math.calc(20,2,'/'));
Run it using node and you should get following output.
If you are facing some error, you might need to check whether the “nodecalc” module is been installed correctly or not.
Edit published Module at NPM:
Suppose you want to update some information about this module, so what you need to do is unpublish the module, change the proper information for.eg Readme information and then change version number ( This is very important else you will face error) and then publish it again.
Unpublish the module:
In case you want to update the module information or simply delete it from npm registry, all you need to do is.
from the working folder. That’s it.