前言
webpack自身的多数功能都由插件来扩展。
clean-webpack-plugin
-
安装
yarn add clean-webpack-plugin --dev -
webpack.config.js中引用插件
const {CleanWebpackPlugin} = require('clean-webpack-plugin'); -
webpack.config.js的plugins属性中添加如下代码
plugins: [ new CleanWebpackPlugin() ]
html-webpack-plugin
-
安装
yarn add html-webpack-plugin --dev -
webpack.config.js中引用插件
const HtmlWebpackPlugin = require('html-webpack-plugin'); -
webpack.config.js的plugins属性中添加如下代码
plugins: [ new HtmlWebpackPlugin({ title: '页面标题', filename: 'index.html', favicon: path.resolve(__dirname, 'src/assets/imgs/favicon.png'), template: path.resolve(__dirname, 'src/index.html'), inject: 'body', minify: { // 是否移除HTML中注释 removeComments: false, // 是否移除空行和换行符 collapseWhitespace: false, // 是否压缩内联CSS minifyCSS: false } }) ]title:找到模板中的'<%= htmlWebpackPlugin.options.title %>'这个字符串替换为给定内容
filename:输出文件名称,输出的路径是module.exports.output.path(dist文件夹)
favicon:指定网页图标
template:指定模板文件
inject:生成的.html文件中,引用output.filename的位置
minify:生成的.html文件是否压缩 -
将src/index.html文件修改一下
... <title><%= htmlWebpackPlugin.options.title %></title> ... -
执行yarn build,查看dist中生成的.html文件
a. 未开启压缩
b. 开启压缩