A to Z of Node.js Modules

Introduction — Node.js

Node.js is an open source platform for creating applications that uses JavaScript on server side as well as on the client side. JavaScripts usage amongst the developer community is growing at a very rapid pace. It is the most popular language in a recent survey conducted by Stack Overflow.

Its runtime environment interprets JavaScript using Google’s V8 JavaScript engine. Node.js has an event-driven architecture capable of asynchronous I/O that makes it lightweight and efficient. Node.js’ package ecosystem, npm, is the largest ecosystem of open source libraries in the world.

Here is a A to Z list of node modules that will extend the capability of your node.js application.

A

Async : Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript.

B

Browserify : Browserify will recursively analyze all the require() calls in your app in order to build a bundle you can serve up to the browser in a single <script> tag.

Bower : Bower is a package manager for the web. It works by fetching and installing packages from all over, taking care of hunting, finding, downloading, and saving the stuff you’re looking for.

Backbone : Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.

C

Csv : csv module has four sub modules which provides CSV generation, parsing, transformation and serialization for Node.js.

D

Debug : Debug is a tiny node.js debugging utility modelled after node core’s debugging technique.

E

Express : Express is a fast, un-opinionated, minimalist web framework. It provides small, robust tooling for HTTP servers, making it a great solution for single page applications, web sites, hybrids, or public HTTP APIs.

F

Forever : A simple CLI tool for ensuring that a given node script runs continuously (i.e. forever).

G

Grunt and Gulp do exactly the same thing. Grunt has been around longer than Gulp.

Grunt : is a JavaScript Task Runner that facilitates creating new projects and makes performing repetitive but necessary tasks such as linting, unit testing, concatenating and minifying files (among other things) trivial.

Gulp : is a streaming build system that helps you automate painful or time-consuming tasks in your development workflow.

H

Hapi : is a streaming build system that helps you automate painful or time-consuming tasks in your development workflow.

Http-server : is a simple, zero-configuration command-line http server. It is powerful enough for production usage, but it’s simple and hackable enough to be used for testing, local development, and learning.

I

Inquirer : A collection of common interactive command line user interfaces.

J

Jquery : jQuery is a fast, small, and feature-rich JavaScript library.

Jshint : Static analysis tool to detect errors and potential problems in JavaScript code and to enforce your team’s coding conventions.

K

Koa : Koa is web app framework. It is an expressive HTTP middleware for node.js to make web applications and APIs more enjoyable to write.

L

Lodash : The lodash library exported as a node module. Lodash is a modern JavaScript utility library delivering modularity, performance, & extras.

Less : The less library exported as a node module.

M

Moment : A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.

Mongoose : It is a MongoDB object modelling tool designed to work in an asynchronous environment.

MongoDB : The official MongoDB driver for Node.js. It provides a high-level API on top of mongodb-core that is meant for end users.

N

Npm : is package manager for javascript.

Nodemon : It is a simple monitor script for use during development of a node.js app, It will watch the files in the directory in which nodemon was started, and if any files change, nodemon will automatically restart your node application.

Nodemailer : This module enables e-mail sending from a Node.js applications.

O

Optimist : is a node.js library for option parsing with an argv hash.

P

Phantomjs : An NPM installer for PhantomJS, headless webkit with JS API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG.

Passport : A simple, unobtrusive authentication middleware for Node.js. Passport uses the strategies to authenticate requests. Strategies can range from verifying username and password credentials or authentication using OAuth or OpenID.

Q

Q : is a library for promises. A promise is an object that represents the return value or the thrown exception that the function may eventually provide.

R

Request : Request : Request is Simplified HTTP request client make it possible to make http calls. It supports HTTPS and follows redirects by default.

S

Socket.io : Its a node.js realtime framework server.

Sails : Sails : API-driven framework for building realtime apps, using MVC conventions (based on Express and Socket.io)

T

Through : Its enables simplified stream construction. It is easy way to create a stream that is both readable and writeable.

U

Underscore : is a utility-belt library for JavaScript that provides support for the usual functional suspects (each, map, reduce, filter…) without extending any core JavaScript objects.

V

Validator : A nodejs module for a library of string validators and sanitizers.

W

Winston : A multi-transport async logging library for Node.js

Ws : A simple to use, blazing fast and thoroughly tested websocket client, server and console for node.js

X

Xml2js : A Simple XML to JavaScript object converter.

Y

Yo : A CLI tool for running Yeoman generators

Z

Zmq : Bindings for node.js and io.js to ZeroMQ .It is a high-performance asynchronous messaging library, aimed at use in distributed or concurrent applications.


My Name is Ashish @ashish_fagna. I am a software developer . If you enjoyed this article, please recommend and share it! Thanks for your time.

You can also contact me on ashish [dot] fagna [at] gmail.com

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.