Category: Node.JS

Unit Testing Strategies in Node.js

In the world of JavaScript development, it’s easy to get lost and do things wrong, especially when it comes to unit testing. JavaScript is a powerful language, but it is also one where it is incredibly easy to do things the wrong way, and the utmost care must be taken to ensure you don’t end up with a situation where you have no hope to correct yourself. In this article, I’ll explain my experiences with unit testing in Node.js, specifically for a web application using express and MongoDB via mongoose, what I’ve learned and what I believe is the “right” philosophy of how to organize your code to make it testable.

(more…)

Making Node.JS Work With Apache

While I’m on a roll with node-related posts, I would like to take a moment to discuss how to run Node with Apache. Now, this might seem counter-intuitive at first glance; I am sure you are asking yourself “why the heck would I need to run apache with node if a node web app itself runs its own HTTP server?” but that’s the wrong question to be asking. The right question is “What kind of advantages do I gain by using the two together?” and the answer may surprise you. (more…)

Basic Scaffolding for a Node.JS Powered Website Project

As a node.js enthusiast, I have made multiple small to medium size web apps using node and its many various useful libraries like Express.JS. Previously I made a blog post about how to get started with making a node.js powered website and it has become one of the post popular entries on my blog however the feedback I got was that I need to include an example. I originally didn’t include one because I felt like there wasn’t really enough code to actually make it worthwhile, especially since some excerpts were already in the post. However, I have since realized that even if not used as an example, a basic scaffolding would help me (and thus probably others) with getting started on making their node website. Consequently, I introduce to you my “Node Website Scaffolding” project! Getting started is as easy as going into your terminal and typing

git clone https://github.com/podrezo/node-website-scaffolding.git

This will download everything you need except the dependencies. It comes with the latest (at the time of me writing this) bootstrap which is version 3.1.1. Let me run you through the ropes of this project… (more…)

Init.d startup/shutdown script for Node.JS applications via forever

If you are like me and have multiple Node.JS applications running on a *NIX box, each managed by the ‘forever‘ which is described as “A simple CLI tool for ensuring that a given node script runs continuously (i.e. forever)” then chances are you’ve also wanted to add your applications to auto-start via init.d. Additionally, by having an init.d script for each application you’d be able to stop, restart, and check the status of each of your applications without having to get into pathing and changing users. (more…)