Loading and bundling modules

As we've just seen, there are now quite a few module specifications. Not all of them can be loaded natively, depending on the target environment. Also, within a single application, you might have dependencies using different module types and this isn't easy to handle without getting into trouble.

Currently, to make this possible, we often need to use tools. There are two categories of tools that we should briefly discuss: module loaders and bundlers.