Always bet on JavaScript.
Visualisation of npm dependencies by @anvaka.
Compiling by @xkcd.
- Introduction to Node.js
- Differences between Node.js and the Browser
- The V8 JavaScript engine
- An introduction to the npm package manager
Lose Yourself by @claybanks1989.
In this assignment you’ll learn the basics of Node.
- Practice
- Time: 3:00h
- Goals: subgoal 1, subgoal 2
- Due: before lab 3
- Stuck? See the Bugs section of the course readme to find a list of troubleshooting tips
Take ± 3 hours to follow the learnyounode workshopper through to completion.
Workshoppers are interactive, self guided lesson modules, used as curriculum in NodeSchool: free and in-person hosted workshops. At NodeSchool, mentors help attendees work through the challenges, but you can also work through workshoppers on your own, or with friends or colleagues.
NodeSchool Amsterdam is pretty active: about once per month there’s a workshop. It’s also a lot of fun. Need some extra help? Want to meet more developers? Definitely attend one of the workshops!
Other than learnyounode
, workshoppers exist for JavaScript, npm, Express,
Electron, and much more. Feel free to peruse the
list of workshoppers and try anything that sounds interesting.
- Introduction to Node with Ryan Dahl
- I hate almost all software
- Node Guides
- The Art of Node
- javascript.info
- Ryan Dahl: Original Node.js presentation
You’re expected to spend about 6 hours on assignments outside of class. Submit your assignments before lab 3.
Parcel, package, candy cane and string by @kadh.
You’ll learn the basics of node modules and npm packages and setup a boilerplate for your own feature.
- Homework
- Time: 6:00h
- Goals: subgoal 1, subgoal 2
- Due: before lab 3
- Stuck? See the Bugs section of the course readme to find a list of troubleshooting tips
-
Create the boilerplate for the feature you are going to create. Include a
package.json
with a correct name, version, dependencies, and other metadata. See npm’s documentation onpackage.json
. For examples ofpackage.json
files, seerepeat-string
,longest-streak
, orskin-tone
. -
Pick a package from npm that would be helpful for your feature and use it in your
index.js
-
Add a
readme.md
to your repo, documenting the code: how to install it, how to use it (with examples), a license. For examples ofreadme.md
files, seeconcat-stream
,ccount
, ornormalize-url
. Here's a good article on the art ofREADMEs
. -
Add a license to your repository. What are the differences between each license?
If you have some time left and would like to dig further you can:
- Add a
.gitignore
- Add a
.editorconfig
…most of the previously linked to projects have the above in place, look at them for examples.
Ask yourself upon completion:
- What's the difference between
dependencies
anddevDependencies
? - What are the differences between
global
andlocal
dependencies?
- 11 npm tricks
- Participating in Open Source
- Guide to Idiomatic Contributing
- Start your open source career
-
Push your changes: Hand in your progess in your repository on GitHub under your username.
-
Create an issue: Mark this assignment as complete by opening an issue on our GitHub issue tracker. Fill in the issue template with the correct information. Make sure, in your repository, you include the resources used and update your
readme.md
and wiki with additional information. -
Feedback: Let us know what you thought of the homework, what part you spend a lot of time on and give us any feedback. Your project will be reviewed and receive feedback, so expect people to read it, and be ready for tips and tops!