Front-End Web Development of this series treats import and export as language syntax: live bindings, graph evaluation, dynamic import(). None of that tells you which file import 'zod' actually opens, why a package behaves differently under require() than under import, or why a valid .js file throws SyntaxError: Unexpected token 'export'. Those questions belong to the loader, and the loader is pure Node.js 2,131 .
A MERN codebase makes you answer them within the first hour. Express 5 24,430 still ships CommonJS, many React-adjacent packages publish ES modules only, Next.js 10,514 reads your package.json to decide how to compile server code, and your tests need to swap the MongoDB 1,815 driver for a stub without editing an import statement. Every one of those is settled by a handful of package.json fields and one resolution algorithm, applied identically everywhere.