In this blog post I have tried to explain essential node.js modules which may help you to make your web application robust and more users friendly.
1. Express Framework – Go to Website
Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multiple pages, and hybrid web applications. It is complete package for your framework related requirements. Visit this website to know how it works and who uses express framework.
Install via npm: $ npm install –g express
2. Jade – Go to Website
Install via npm: $ npm install jade
3. My-Sql – Go to Website
My-sql module is driver for node.js. You can interact with any MySQL database, run any query, stored procedure. There are lot of configuration options available in this module which you can set depending upon your application needs. Interestingly this module also provide connection pooling mechanism which gives this module added advantage over other my-sql modules for node.js.
Install via npm: $ npm install email@example.com
4. Mongoose – Go to Website
Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment. Mongoose provides a straight-forward, schema-based solution to modeling your application data and includes built-in type casting, validation, query building, business logic hooks and more, out of the box.
Install via npm: $ npm install mongoose
Both express and connect has session management feature. If you want to learn how you can manage user’s session using express.js then read this interesting blog post.
Security is measure concern when working with any of the modules in this area. I don’t find any explanation on session replay attack and session hijacking attack prevention in express.js. So according to my experience you have to write your own logic to prevent session replay and session hijacking attack.
Also I would recommend you to read this blog post if you are really concerned about your website or web application security.
6. Nodemon – Go to Website
Install via npm: $ npm install nodemon
7. Nodemailer – Go to Website
Nodemailer is an easy to use module to send e-mails with Node.JS (using SMTP or sendmail or Amazon SES) and is unicode friendly – You can use any characters you like. Not only text message it also support large files as an attachment.
Install via npm: $ npm install nodemailer
8. Socket.io – Go to Website
Install via npm: $ npm install socket.io
9. Async – Go to Website
Install via npm: $ npm install async
If you want to see practical examples for async module then I would suggest you read this blog post.http://www.sebastianseilund.com/nodejs-async-in-practice
10. Nodefly – Go to Website
Nodefly is application monitoring tool. You can monitor you application performance from anywhere in the world. When application go live you will always need some tool which continuously monitor your application performance and give you an alert whenever anything bad happens. Nodefly is very powerful module but it has only one requirement, internet connection on server. Nodefly is third party service which will collect performance metrics and sync it on their server.
Install via npm: $ npm install nodefly
11. Uglify – Go to GitHub
Install via npm: $ npm install uglify-js@1