学习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
})
]
效果:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理