On this page

Whenever one file depends on another, webpack treats that relationship as a dependency. This lets webpack handle non-code assets, such as images and web fonts, by exposing them as dependencies of your application too.

When webpack processes your application, it begins with a list of modules defined on the command line or in its configuration file. Starting from these entry points, webpack recursively builds a dependency graph that contains every module your application needs. It then bundles all of those modules into a small number of bundles — often just one — for the browser to load.

[!TIP] Bundling is especially powerful for HTTP/1.1 clients, because it reduces how often the app has to wait for the browser to open a new request. For HTTP/2, you can additionally apply Code Splitting for the best results.