webpack has a rich plugin interface. Most of the features are internal plugins using this interface. This makes webpack very flexible.
webpack uses async I/O and has multiple caching levels. This makes webpack fast and incredibly fast on incremental compilation.
webpack supports pre-processing files via loaders. This allows you to bundle any static resource not only javascript. You can easily write your own loaders running in Node.js.
webpack allows you to split your codebase into chunks. Chunks are loaded on demand. This reduces initial loading time.
webpack can do many optimizations to reduce the output size. It also cares about request caching by using hashes.
webpack supports SourceUrls and SourceMaps for simple debugging. It can watch your files and comes with a development middleware and a development server for automatic reloading.
webpack's main target is the web, but it also supports generating bundles for WebWorkers and Node.js.
© 2012–2016 Tobias Koppers
Licensed under the MIT License.
https://webpack.github.io/docs/