1. 内部插件
webpack本身内置了很多插件。
| 名称 | 描述 | 适用环境 |
|---|---|---|
| AggressiveSplittingPlugin | 将原始chunk分割成更小的chunk | |
| BannerPlugin | 在每个生成的 chunk 顶部添加 banner | |
| CommonsChunkPlugin | 提取 chunks 之间共享的通用模块 | |
| NamedModulesPlugin | HMR时显示模块的相对路径 | 生产 |
| HashedModuleIdsPlugin | 根据模块的相对路径生成一个四位数的hash作为模块id | 生产 |
| ContextReplacementPlugin | 重写 require 表达式的推断上下文 |
|
| DefinePlugin | 允许在编译时配置全局常量 | |
| DllPlugin | 分割bundle来大幅改善构建时间,分割bundle | |
| EnvironmentPlugin | 内部使用DefinePlugin 来设置 process.env 键的快捷方式 |
|
| HotModuleReplacementPlugin | 开启模块热替换 | |
| IgnorePlugin | 从 bundle 中排除某些模块 | |
| LimitChunkCountPlugin | 限制chunk的数量和每个chunk的体积 | |
| MinChunkSizePlugin | 设置chunk的最小体积(字节) | |
| NoEmitOnErrorsPlugin | 在输出阶段时,遇到编译错误跳过 | |
| NormalModuleReplacementPlugin | 替换与正则表达式匹配的资源 | |
| ProvidePlugin | 不必通过 import/require 使用模块 | |
| SourceMapDevToolPlugin | 对 source map 进行更细粒度的控制 | |
| PrefetchPlugin | 预取出普通的模块请求 | |
| WatchIgnorePlugin | 观察模式下忽略某些文件 | |
| ModuleConcatenationPlugin | 实现一些的预编译功能 |