Webpack 拥有丰富的插件接口。Webpack 自身的大多数功能都使用了这个插件接口。这使得 webpack 非常灵活。
名称 | 描述 |
---|---|
BannerPlugin | 在每个生成的块的顶部添加一个横幅 |
ChunksWebpackPlugin | 创建包含入口点和块关系的 HTML 文件来提供你的 bundle |
CommonsChunkPlugin | 提取块之间共享的公共模块 |
CompressionWebpackPlugin | 准备资产的压缩版本,以便通过 Content-Encoding 提供它们 |
ContextReplacementPlugin | 覆盖 require 表达式的推断上下文 |
CopyWebpackPlugin | 将单个文件或整个目录复制到构建目录 |
DefinePlugin | 允许在编译时配置全局常量 |
DllPlugin | 拆分 bundle 以显著提高构建时间 |
EnvironmentPlugin | 在 process.env 键上使用 DefinePlugin 的简写 |
EslintWebpackPlugin | 一个用于 webpack 的 ESLint 插件 |
HotModuleReplacementPlugin | 启用模块热替换 (HMR) |
HtmlWebpackPlugin | 轻松创建 HTML 文件来提供你的 bundle |
IgnorePlugin | 从 bundle 中排除某些模块 |
LimitChunkCountPlugin | 设置分块的最小/最大限制,以便更好地控制分块 |
MinChunkSizePlugin | 保持块大小在指定限制之上 |
MiniCssExtractPlugin | 为每个需要 CSS 的 JS 文件创建一个 CSS 文件 |
NoEmitOnErrorsPlugin | 当存在编译错误时跳过发出阶段 |
NormalModuleReplacementPlugin | 替换匹配正则表达式的资源 |
NpmInstallWebpackPlugin | 在开发过程中自动安装缺失的依赖项 |
ProgressPlugin | 报告编译进度 |
ProvidePlugin | 无需使用 import/require 即可使用模块 |
SourceMapDevToolPlugin | 实现对 Source Map 更细粒度的控制 |
EvalSourceMapDevToolPlugin | 实现对 eval Source Map 更细粒度的控制 |
SvgChunkWebpackPlugin | 根据你的入口点依赖项生成经 SVGO 优化的 SVG 精灵图 |
TerserPlugin | 使用 Terser 压缩项目中的 JS |
有关更多第三方插件,请参阅 awesome-webpack 中的列表。