Dependency Graph

If at a sudden moment of time any file depends on another, webpack treats this as a dependency. This allows webpack to take non-code assets, such as images or web fonts, and also provide them as dependencies for your application.

When webpack processes your application, it starts from the 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 includes various modules as demanded by your application, then bundles all of those modules into a small number of bundles - often, just one - to be loaded by the browser.

Bundling your application is especially powerful for HTTP/1.1 clients, as it minimizes the number of times your app has to wait while the browser starts a new request. For HTTP/2, you can also use Code Splitting to achieve best results.