Node.js is an open source platform for creating applications that use JavaScript on the server side as well as on the client side. In a recent survey conducted by StackOverflow, JavaScripts usage amongst the developer community is growing at a very rapid pace. It is becoming one of the most popular languages to work in 2017. In this journal, we will be looking at some of the best available NodeJS Modules today for the developers to take full advantage of NodeJS.
Node.js architecture has an event drive capability that helps in making asynchronous I/O, and thus making it lightweight and efficient. NPM, is the largest Node.js package ecosystem and its registry hosts almost half a million packages of free.
List of the best available NodeJS modules
A – D
- Async: Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript.
- 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.
- Csv: csv module has four sub modules which provides CSV generation, parsing, transformation and serialization for Node.js.
- Debug: Debug is a tiny node.js debugging utility modelled after node core’s debugging technique.
E – H
- 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.
- Forever: A simple CLI tool for ensuring that a given node script runs continuously (i.e. forever).
- 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.
- 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 – K
- Inquirer: A collection of common interactive command line user interfaces.
- 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.
- 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 – P
- 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.
- Moment: A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.
- Mongoose: It is a MongoDB object modeling 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.
- 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.
- Optimist: is a node.js library for option parsing with an argv hash.
- 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 – U
- 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.
- Request: Request is Simplified HTTP request client make it possible to make http calls. It supports HTTPS and follows redirects by default.
- 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)
- Through: It enables simplified stream construction. It is easy way to create a stream that is both readable and writable.
- Underscore: Underscore.js 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 – Z
- Validator: A nodejs module for a library of string validators and sanitizers.
- 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
- Xml2js: A Simple XML to JavaScript object converter.
- Yo: A CLI tool for running Yeoman generators
- 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.