# 如何使用
插件目的在于解决 loader 无法实现的其他事。 在 webpack 配置中,向 plugins 属性传入 new 实例。
// webpack.config.js
const HtmlWebpackPlugin = require('html-webpack-plugin'); //通过 npm 安装
const webpack = require('webpack'); //访问内置的插件
module.exports = {
module: {
rules: [
{
test: /\.(js|jsx)$/,
use: 'babel-loader'
}
]
},
plugins: [
new webpack.optimize.UglifyJsPlugin(),
new HtmlWebpackPlugin({template: './src/index.html'})
]
};
# 常用插件
HotModuleReplacementPlugin
: 启用模块热替换CopyWebpackPlugin
: 将单个文件或整个目录复制到构建目录DefinePlugin
: 允许在编译时配置的全局常量EnvironmentPlugin
: DefinePlugin 中 process.env 键的简写方式BannerPlugin
: 在每个生成的 chunk 顶部添加 bannerCommonsChunkPlugin
: 提取 chunks 之间共享的通用模块DllPlugin
: 为了极大减少构建时间,进行分离打包ExtractTextWebpackPlugin
: 从 bundle 中提取文本到单独的文件HtmlWebpackPlugin
: 简单创建 HTML 文件,用于服务器访问HtmlWebpackTagsPlugin
: 自动将相应文件注入到index.html中I18nWebpackPlugin
: 为 bundle 增加国际化支持NpmInstallWebpackPlugin
: 在开发时自动安装缺少的依赖CssCleanupPlugin
: 移除重复的和没有用到的css代码MiniCssExtractPlugin
: 从 bundle 中提取css到单独的文件cleanWebpackPlugin
: 清空指定目录webpack-build-notifier
: 构建完成时,能够像微信这样的APP弹出消息的方式,提示构建已经完成webpack-dashboard
: 统计和优化webpack日志的工具,以表格形式展示日志信息webpack-deep-scope-analysis-plugin
: 作用域分析