Joel.Watson92@gmail.com | LinkedIn: /in/joel3rbear | Twitter: @Joel3rBear
You might want to run JavaScript outside of the browser if you wanted to use javascript for your server side language (node.js). Using node.js javascript is able to manipulate the file structure with bindings to C++ code.
The difference between a module and a package is that a module is just a single javascript file responsible for some functionality. A package on the other hand is a directory that contains one or more modules resposible for bigger features. Packages also contain a package.json file to handle dependancies.
Test driven development allows you to develope very stable software with really high code coverage.
Test driven developement, though it offeres excellent code coverage, can be way to slow for initial start ups. Since all companies start out strapped for cash, this type of developement is often too slow for this stage in the company.
Node package manager lets you install and update your dependencies so you can spend more time developing buisiness logic software and less time developing the standered features that all software needs (authentication, logging, caching etc…)