# 2108-FSA-RM-WEB-FT Day 05 Exit Ticket Solution: Node **You should be able to:** - Explain the purpose of Node - Explain asynchronicity in JavaScript and how to handle asynchronous code - Use `module.exports` and `require` to create modular applications - Describe what `npm` is and its purpose ## In your own words, what is Node? And why do we need it? - Node is a **runtime environment** that has the ability to run a V8 engine on environments other than the browser (e.g. operating systems, servers, etc.). ## What does `module.exports` do? - It's an object that tells Node which pieces of code to export from a given file so other files are allowed to access the exported code. ## What does `require` do? - It's a built-in function that allows a file to include modules that exist in _separate_ files. The basic functionality of `require` is that it **reads** a JavaScript file, **executes** the file, and then proceeds to **return** the `exports` object. ## Which of the following is _not_ a built-in Node module? - fs - http - path - **curl** ☑️ ## What is the order of output of this snippet of code: ```js console.log('Hello') setTimeout(() => { console.log('a new') }, 5000) console.log('World') ``` | Log | 1st | 2nd | 3rd | | --- | --- | --- | --- | | Hello | ☑️ | | | | a new | | | ☑️ | | World | | ☑️ | | ## What is the output of the following snippet of code: ```js const cool = () => { console.log('Running inside the cool function') setTimeout( () => { console.log('Timing out inside the cool function') }, 3000 ) } setTimeout( () => { console.log('I am not in any function') }, 3000 ) cool() console.log('End of File') ``` | Log | 1st | 2nd | 3rd | 4th | | --- | --- | --- | --- | --- | | Running inside the cool function | ☑️ | | | | | Timing out inside the cool function | | | | ☑️ | | I am not in any function | | | ☑️ | | | End of File | | ☑️ | | |