# 如何使用
插件目的在于解决 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: 作用域分析