This chapter covers:
- what a module is and how module declarations define them
- discerning different types of modules
- readability, which connects modules
- accessibility, which encapsulates a module’s internals
- the module path and its meaning for the module system
- module resolution and the module graph
We’ve been talking about modules a lot by now and you’ve just gotten a first look at them in chapter 2. They are the core building blocks, not only of modular applications, but also of a true comprehension of the module system. As such, it is important to build a deeper understanding for what exactly they are and how their properties shape a program’s behavior.