// webpack.config.js let path = require('path') let HtmlWebpackPlugin = require('html-webpack-plugin') let {CleanWebpackPlugin} = require('clean-webpack-plugin')
多页,设置两个 html ,index.html 使用 index.js ,main.html 使用 main.js
javascript
// webpack.config.js let path = require('path') let HtmlWebpackPlugin = require('html-webpack-plugin') let {CleanWebpackPlugin} = require('clean-webpack-plugin')
因为多页有两个 html,所以 plugins 数组中需要两个 HtmlWebpackPlugin 实例,chunks 值为数组,表示 html 引入的 chunk name
热更新(以单页为例)
热更新:不刷新页面,只更新修改的部分
为什么要使用热更新:性能优化,文件太多都刷新会浪费性能;vuex,redux状态管理刷新会丢失
单页,单入口
javascript
// webpack.config.js let path = require('path') let HtmlWebpackPlugin = require('html-webpack-plugin') let {CleanWebpackPlugin} = require('clean-webpack-plugin') let Webpack = require('webpack')
可以使用 mini-css-extract-plugin 抽离样式到一个 css 文件,通过 link 引入
使用 postcss-loader 和 autoprofixer 插件给样式加浏览器兼容前缀
使用 copy-webpack-plugin :用来拷贝文件
javascript
// webpack.config.js let path = require('path') let HtmlWebpackPlugin = require('html-webpack-plugin') let { CleanWebpackPlugin } = require('clean-webpack-plugin') let Webpack = require('webpack') let MiniCssExtractPlugin = require('mini-css-extract-plugin') let CopyWebpackPlugin = require('copy-webpack-plugin')