乐趣区

学习webpack4.x – HTML处理

– 学习 webpack4.x – 基础配置 - 学习 webpack4.x – HTML 处理 // 学习 webpack4.x – 样式处理(未整理)// 学习 webpack4.x – ES6 语法转化(未整理)// 学习 webpack4.x – 全局变量引入(未整理)// 学习 webpack4.x – 图片处理(未整理)
… 持续中
=======================================================
HTML 处理
有些时候,我们项目里的 html 一开始没有创建,但是打包的时候呢希望自动生成 html 入口页面并且这个 html 文件可以自动引入打包后的 JS 文件等,而且这个 html 文件自动被放到打包后的目录中,这种情况下怎么通过 webpack 配置呢?
注意:开始之前以下内容之前,需要配置一些 webpack 的基础配置,传送门:学习 webpack4.x – 基础配置
安装插件
安装自动生成 html 文件需要的插件:webpack-html-plugin,它可以简化 html 文件的创建。
yarn add webpack-html-plugin -D
基本配置
当前目录如下:

下面开始配置 webpack.config.js 文件:
打开 webpack.config.js 文件,引入 webpack-html-plugin 插件,并且在 plugin 中配置该插件:
let HtmlWebpackPlugin = require(‘html-webpack-plugin’);

// 插件配置
plugins: [
new HtmlWebpackPlugin({
template: ‘./src/index.html’, // 原始文件
filename: ‘index.html’, // 打包后的文件名称
})
]

尝试运行:
npm run dev
成功!运行后自动生成了 build 目录,并且在 build 目录中自动生成了 index.html 文件,结果如下:

打包后的目录:

浏览器中:

webpack-html-plugin 常用配置选项

title: 用于生成的 HTML 文档的标题
filename: 要将 HTML 写入的文件, 默认 index.html
template: webpack 需要模板的路径

inject: 默认值 true

true 或 body: 将脚本放在 body 底部。
head: 将脚本放在 head 元素中。

favicon: 将给定的 favicon 路径添加到输出 HTML
meta: 允许注入 meta-tags
minify: 缩小输出
hash: 如果 webpack 为所有包含的脚本和 CSS 文件附加唯一的编译哈希,对缓存清除很有用。

minify 配置:
// 插件配置
plugins: [
new HtmlWebpackPlugin({
template: ‘./src/index.html’, // 原始文件
filename: ‘index.html’, // 打包后的文件名称
minify: {
collapseWhitespace: true // 折叠空行
}
})
]
效果:

hash 配置:
// 插件配置
plugins: [
new HtmlWebpackPlugin({
template: ‘./src/index.html’, // 原始文件
filename: ‘index.html’, // 打包后的文件名称
hash: true, //hash
})
]
效果:

退出移动版