Introduktion till Node.js, vad det är och vad man kan använda det till, samt några av fördelarna mot andra server-implementationer.

Installation av Node.js
Ta hem senaste LTS från nodejs.org (v12.16.1). Om ni redan har v12.x så behöver ni inte installera om.
Global object
Node’s “motsvarighet” till browserns Window-object.
https://nodejs.org/dist/latest-v12.x/docs/api/globals.html
- console.log()
- setTimeout()
- setInterval()
- __dirname
- __filename
require/exports
require letar i node_modules om man inte ger den en relativ eller absolut sökväg.
Moduler exporterar funktioner genom att hänga på dem på module.exports.
Tredjeparts-bibliotek
lodash
https://www.npmjs.com/package/lodash
require/exports vs import/export
The difference between “require(x)” and “import x”
https://stackoverflow.com/a/46677972/1342276
fs-module
API mot filsystemet.
https://nodejs.org/dist/latest-v12.x/docs/api/fs.html
- readdir()
- readFile()
- writeFile()
- unlink()
- mkdir()
- rmdir()
- m.fl.
path-module
Hjälper oss med sökvägar.
https://nodejs.org/dist/latest-v12.x/docs/api/path.html
- basename()
- dirname()
- extname()
- parse()
- m.fl.
Självstudier
Kolla på de videos jag lagt upp i spellistan
Node Event Emitter
OBS! Man behöver inte längre använda en funktion för att skapa en ”klass”, och inte heller utils för att ärva från EventEmitter-klassen.
Se den gist jag skapat här till er:
https://gist.github.com/drblue/b2a99de856076f60059b26330e474d98
Clients and Servers
Creating a Server
Obs, en lite längre och kanske tydligare version av koden finns här:
https://gist.github.com/drblue/d753c9e2ad2579c04255e566be0a0618
Streams and Buffers
Readable Streams
Writable Streams
Pipes
