webpack v1 is deprecated. We encourage all developers to upgrade to webpack 2.
Follow our migration guide or refer to webpack 2 documentation for more info.
Featurewebpack/webpackjrburke/requirejssubstack/node-browserifyjspm/jspm-clirollup/rollup
CommonJs requireyesonly wrapping in defineyesyescommonjs-plugin
CommonJs require.resolveyesnononono
CommonJs exportsyesonly wrapping in defineyesyescommonjs-plugin
AMD defineyesyesdeamdifyyesamd-plugin
AMD requireyesyesnoyesno
AMD require loads on demandyeswith manual configurationnoyesno
ES2015 import/exportyes(vr. 2)nonoyesyes
Generate a single bundleyesyes♦yesyesyes
Load each file separatenoyesnoyesno
Multiple bundlesyeswith manual configurationwith manual configurationyesno
Additional chunks are loaded on demandyesyesnoSystem.importno
Multi pages build with common bundlewith manual configurationyeswith manual configurationwith bundle arithmeticno
Concat in require require("./fi" + "le")yesno♦nonono
Indirect require var r = require; r("./file")yesno♦nonono
Expressions in require (guided) require("./templates/" + template)yes (all files matching included)no♦nonono
Expressions in require (free) require(moduleName)with manual configurationno♦nonono
Requirable filesfile systemwebfile systemthrough pluginsfile system or through plugins
Pluginsyesyesyesyesyes
Preprocessingloaders, transformsloaderstransformsplugin translateplugin transforms
Watch modeyesnot requiredyesnot needed in devno
Debugging supportSourceUrl, SourceMapsnot requiredSourceMapsSourceUrl, SourceMapsSourceUrl, SourceMaps
Node.js built-in libs require("path")yesnoyesyesnode-resolve-plugin
Other Node.js stuffprocess, __dir/filename, global-process, __dir/filename, globalprocess, __dir/filename, global for cjsglobal (commonjs-plugin)
Replacement for browserweb_modules, .web.js, package.json field, alias config optionalias optionpackage.json field, alias optionpackage.json, alias optionno
Minimizinguglifyuglify, closure compileruglifyifyyesuglify-plugin
Mangle path namesyesnopartialyesnot required (path names are not included in the bundle)
Runtime overhead243B + 20B per module + 4B per dependency14.7kB + 0B per module + (3B + X) per dependency415B + 25B per module + (6B + 2X) per dependency5.5kB for self-executing bundles, 38kB for full loader and polyfill, 0 plain modules, 293B CJS, 139B ES6 System.register before gzipnone for ES2015 modules (other formats may have)
Install size (including dependencies)9.7MB / 129 packages11MB / 118 packages9.1MB / 119 packages26MB / 131 packages?MB / 3 packages

♦ in production mode (opposite in development mode)

X is the length of the path string

Fork me on GitHub