Node Overview - JamesDansie/data-structures-and-algorithms GitHub Wiki
What is node and why should we care? Why you should care; Node allows you to run javaScript on your local machine instead of only in the browser. This allows javaScript to be treated like any other scripting language with a runtime environment.
Node is built from chrome's V8 engine. The difference is that Ryan Dahl added a bunch of extra useful features such as; file systems, an HTTP library, and a bunch of operating system stuff. One useful function for us is the 'require' function. This takes the place of the <script> tag in the browser. The 'require' function allows the script it is called in to have access the target module. For example; If I have a file called bananas.js, but I want it to have access to the rainbows modules, then inside bananas.js I would have a line saying, "const rainbows = require('rainbows');" My bananas now have access to the rainbows module, could we even call them rainbow bananas?
Another topic we've danced around is the event loop. This allows JS to have asynchronous behavior. While something is waiting to load (like the response from a server) the event loop keeps track of it, and when that response comes through it load it then. This is nice because the overall program doesn't get locked up waiting for the response, it can continue on do what ever it wants. This video is very helpful to visualize that; https://www.youtube.com/watch?v=8aGhZQkoFbQ
Sourced from; https://www.sitepoint.com/an-introduction-to-node-js/