webpack 相关插件及作用(表格)

webpack 相关插件及作用:

插件 默认启用 作用
UglifyJsPlugin production模式时 压缩代码、
DefinePlugin 创建全局常量用于编译时解析
NoEmitOnErrorsPlugin production模式时 如果没有使用NoEmitOnErrorsPlugin,当发生错误时,就会重载一个有错误信息的页面,把用户的屏幕搞花。
使用NoEmitOnErrorsPlugin插件,就不会加载这个页面了,错误信息只是在控制台中输出
ModuleConcatenationPlugin production模式时 Webpack默认将每一个模块包装在独立的闭包函数中,这个包装函数使得javascript的执行稍微变慢了一点;
ModuleConcatenationPlugin让输出的打包在一个作用域(闭包函数)里了,更少的函数意味着更少的运行时开销。
NamedModulesPlugin development模式时 将使用模块的路径,而不是数字标识符
NamedChunksPlugin development模式时 让chunks有名字,而不是chunks id;
只能对普通的 Webpack 模块起作用,异步模块(异步模块可以在 import 的时候加上 chunkName 的注释,比如这样:import(/ webpackChunkName: “lodash” / ‘lodash’).then() 这样就有 Name 了),external 模块是不会起作用的。
HashedModuleIdsPlugin HashedModuleIdsPlugin的作用和 NamedChunksPlugin 是一样的,只不过 HashedModuleIdsPlugin 把根据模块相对路径生成的 hash 作为 chunk id,这样 chunk id 会更短。因此在生产中更推荐用 HashedModuleIdsPlugin。
原文地址:https://www.cnblogs.com/cag2050/p/10082082.html