Modules are the basic building blocks for constructing Node.js applications. A Node.js module encapsulates functions, hiding details inside a well-protected container, and exposing an explicitly-declared list of functions.
There are two module formats that we must consider:
- The traditional Node.js format based on the CommonJS standard has been used since Node.js was created.
- With ES2015/2016 a new format, ES6 Modules, has been defined with a new import keyword. ES6 modules will be (or is) supported in all JavaScript implementations.
Because ES6 modules are now the standard module format, the Node.js Technical Steering Committee (TSC) is committed to first-class support for ES6 modules.
We have already seen modules in action in the previous chapter. Every JavaScript file we use in Node.js is itself a module. It's time to see what they are and...