webpack 有着丰富的插件接口(rich plugin interface)。webpack 自身的多数功能都使用这个插件接口。这个插件接口使 webpack 变得极其灵活。
Name | Description |
---|---|
AggressiveSplittingPlugin |
将原来的 chunk 分成更小的 chunk |
BabelMinifyWebpackPlugin |
使用 babel-minify进行压缩 |
BannerPlugin |
在每个生成的 chunk 顶部添加 banner |
CommonsChunkPlugin |
提取 chunks 之间共享的通用模块 |
CompressionWebpackPlugin |
预先准备的资源压缩版本,使用 Content-Encoding 提供访问服务 |
ContextReplacementPlugin |
重写 require 表达式的推断上下文 |
CopyWebpackPlugin |
将单个文件或整个目录复制到构建目录 |
DefinePlugin |
允许在编译时(compile time)配置的全局常量 |
DllPlugin |
为了极大减少构建时间,进行分离打包 |
EnvironmentPlugin |
DefinePlugin 中 process.env 键的简写方式。 |
ExtractTextWebpackPlugin |
从 bundle 中提取文本(CSS)到单独的文件 |
HotModuleReplacementPlugin |
启用模块热替换(Enable Hot Module Replacement - HMR) |
HtmlWebpackPlugin |
简单创建 HTML 文件,用于服务器访问 |
I18nWebpackPlugin |
为 bundle 增加国际化支持 |
IgnorePlugin |
从 bundle 中排除某些模块 |
LimitChunkCountPlugin |
设置 chunk 的最小/最大限制,以微调和控制 chunk |
LoaderOptionsPlugin |
用于从 webpack 1 迁移到 webpack 2 |
MinChunkSizePlugin |
确保 chunk 大小超过指定限制 |
NoEmitOnErrorsPlugin |
在输出阶段时,遇到编译错误跳过 |
NormalModuleReplacementPlugin |
替换与正则表达式匹配的资源 |
NpmInstallWebpackPlugin |
在开发时自动安装缺少的依赖 |
ProvidePlugin |
不必通过 import/require 使用模块 |
SourceMapDevToolPlugin |
对 source map 进行更细粒度的控制 |
EvalSourceMapDevToolPlugin |
对 eval source map 进行更细粒度的控制 |
UglifyjsWebpackPlugin |
可以控制项目中 UglifyJS 的版本 |
ZopfliWebpackPlugin |
通过 node-zopfli 将资源预先压缩的版本 |
更多第三方插件,请查看 awesome-webpack 列表。