Creating a new project is not always obvious when coming to a new technology. Python has virtualenv and pip freeze and requirements to manage dependencies and standalone projects. But how to deal with it in NodeJS? NPM comes to help us out with a bunch of automation tools.
Having multiple environments requires multiple configurations : local for development, staging for pre-production and production. Each share some settings and override others. Here's a way to manage it with real ease and never read again those "if DEBUG is True:" or "if ENV is 'local'"