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 supports AMD and CommonJs module styles. It performs clever static analysis on the AST of your code. It even has an evaluation engine to evaluate simple expressions. This allows you to support most existing libraries.

Code Splitting

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.

Development Tools

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.

Multiple targets

webpack's main target is the web, but it also supports generating bundles for WebWorkers and Node.js.

© 2012–2015 Tobias Koppers
Licensed under the MIT License.