学习webpack4 - 基础配置
学习webpack4 - HTML处理
学习webpack4 - 样式处理
学习webpack4 - ES6语法转化
学习webpack4 - 第三方库的使用
学习webpack4 - 抽离公共代码html
...持续中webpack
=======================================================web
有些时候,咱们项目里的html一开始没有建立,可是打包的时候呢但愿自动生成html入口页面而且这个html文件能够自动引入打包后的JS文件等,并且这个html文件自动被放到打包后的目录中,这种状况下怎么经过webpack配置呢?npm
注意:开始以前如下内容以前,须要配置一些webpack的基础配置,传送门:学习webpack4.x - 基础配置segmentfault
安装自动生成html文件须要的插件: webpack-html-plugin,它能够简化html文件的建立。浏览器
yarn add webpack-html-plugin -D
当前目录以下:缓存
下面开始配置webpack.config.js文件:学习
打开webpack.config.js文件, 引入 webpack-html-plugin 插件,而且在plugin中配置该插件:ui
let HtmlWebpackPlugin = require('html-webpack-plugin'); //插件配置 plugins: [ new HtmlWebpackPlugin({ template: './src/index.html', //原始文件 filename: 'index.html', //打包后的文件名称 }) ]
尝试运行:spa
npm run dev
成功!运行后自动生成了build目录,而且在build目录中自动生成了index.html文件,结果以下:
打包后的目录:
浏览器中:
inject: 默认值true
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 }) ]
效果:
webpack编译后生成的文件会存放在固定的目录下,时间久了这个目录会至关杂乱,咱们利用clean-webpack-plugin 这个插件在每次编译的时候先删掉这个目录,而后在去生成最新的这个目录,这样就能够保证每次这个目录下的文件都是最新的,并且不包含老的编译的文件遗留下来,方法以下:
step1: 配置webpack.config.js
const CleanWebpackPlugin = require('clean-webpack-plugin'); module.exports = { //... plugins: [ new CleanWebpackPlugin(['dist']) //dist是出口目录名称 ] }
step2: 安装插件
yarn add clean-webpack-plugin -D