Challenge 2: Why CommonJS Packages Can't Load via <script src> — Possible Solution ==================================================================== WHAT COMMONJS ACTUALLY REQUIRES ------------------------------ Per node1-2, CommonJS's require() function works by resolving a module specifier (like 'lodash' or './utils') into an actual file on disk, using Node's own file-system-based module resolution algorithm — searching node_modules directories, resolving relative paths, reading package.json's own "main" field, and so on. module.exports then makes that file's own exported values available to whatever called require() on it. WHY A BROWSER CAN'T DO THIS ------------------------------ Per this chapter's own explanation, a browser tab has no access to a local file system to search through in the way Node's own require() resolution depends on — there is no node_modules folder sitting "nearby" for the browser to look through, and no built-in browser API that implements Node's own file-resolution algorithm. require() and module.exports are Node-specific globals; they simply don't exist inside a browser's own JavaScript environment at all. A script containing require('some-package') that's loaded directly via