My Node.js notes
Node Version Manager (NVM)
My Node Version Manager (NVM) notes
Node.js Package Manager (npm)
Initialize an npm project. Within project directory use npm init
command. The default command launches a questionnaire. To answer default on all questions use -y argument.
Uninstall global module
npm uninstall -g nodemon
Install local module
npm install nodemon
Install as dev dependency (not installed on production environment)
npm install nodemon --save-dev
Basic stuff
debugger statement and node inspect
chrome:://inspect
Exit Chrome DevTool debugger.
Type restart
at console after exiting Chrome DevTool to restart app with same arguments.
Press CTRL+C twice to exit debugger in console.
nodemon
If nodemon installed globally
nodemon <app.name> -e <comma separated list of extensions to monitor>
If nodemon installed locally a script can launch. See scripts key section for details.
package.json info
scripts key
create key value pair where key is name of script and value is script location
Example:
"scripts": { "dev": "nodemon src/app.js -e js,hbs" }
At node prompt type npm run dev
to execute script nodemon src/app.js -e js,hbs
NPM modules
CORS is a node.js package for providing a Connect/Express middleware that can be used to enable CORS with various options.
The official MongoDB driver for Node.js. Provides a high-level API on top of mongodb-core that is meant for end users.
Mongoose provides a straight-forward, schema-based solution to model your application data. It includes built-in type casting, validation, query building, business logic hooks and more, out of the box.
validator is a library of string validators and sanitizers.
bcryptjs is optimized bcrypt in JavaScript with zero dependencies. Compatible to the C++ bcrypt binding on node.js and also works in browser.
jsonwebtokens is an implementation of JSON Web Tokens.
Multer is a node.js middleware for handling multipart/form-data, which is primarily used for uploading files. It is written on top of busboy for maximum efficiency.
busboy is a node.js module for parsing incoming HTML form data.
sharp is a high speed node.js module that convert large images in common formats to smaller, web-friendly JPEG, PNG and WebP images of varying dimensions.
env-cmd is a simple node program for executing commands using an environment from an env file.
jest is a delightful JavaScript testing library
mocha is a simple, flexible, fun JavaScript test framework for Node.js & the browser
HTTP assertions made easy via superagent. The motivation with supertest is to provide a high-level abstraction for testing HTTP, while still allowing you to drop down to the lower-level API provided by superagent.
Socket.IO enables real-time bidirectional event-based communication. Socket.IO home
bad-words is a javascript filter for badwords.
moment is a lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.
Resources
Node.js home