[!NOTE] This repo is from an archived version of the course. Watch the latest version of the course on frontendmasters.com.
Scott Moss & Frontend Masters
Thanks for taking the Introduction to Node.js course -- the course has two parts: slides and exercises. The slides describe the exercises in detail. Each exercise have a folder.
Install node with node version manager (NVM). NVM was created by the community and not the Nodejs foundation. However, it is the recommended approach. After installing nvm, use nvm to install the lates version of Nodejs, which at this time is 10
and set it to the default version
nvm install node # node is an alias for the latest version
nvm alias default node
If this fails, or you want to install nodejs from nodejs source, then go here
Important: After installing node, please run npm install i
or npm install
to install the dependencies located in the package.json
file (utilized in future exercises).
exercises/modules
npx jest
This exercise will have you convert some JavaScript written for the browser, so that it works with node.
exercises/cli
node exercises/cli/index.js new
node exercises/cli/index.js list
You'll be creating a CLI program that saves and retrieves contacts from and address book. The program is partially there, however, you must install some remote modules, and use the fileSystem to get some things to work.
exercises/api
node exercises/api/server.js
You'll be refacoring and fixing a simple static asset server. The server uses blocking sync code and crashes whenever a request comes in that is asking for an asset that is not found. Neither of those are desirable. You'll also have to teach the server how to server the assets it has in the assets
folder.
exercises/testing
node exercises/testing/index.js
npm test
or yarn test
or npx jest
You have to debug and track down some issues in a small app. Use your logging and inspector to find them. Try and fix them, once you do, write some test to make sure it stays fixed ππΎππ―
Deploy one of the exercises to heroku (server) or npm (cli)