目录
- 1. build 与 dev 区别
- 2. 认识 HMR 热更新
1. build 与 dev 区别
yarn run build
会生成打包文件
yarn run dev
不会,它放到内存里了,以此来提升打包速度
2. 认识 HMR 热更新
1.1 状态丢失
每次修改都会重新刷新,input输入的内容,临时定义的变量都会丢失
此时就可以借助 HMR 热更新 来解决 状态丢失 的问题
1.2 基本使用
-
配置
const path = require('path');
const webpack = require('webpack');const HtmlWebpackPlugin = require('html-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');module.exports = {mode: "development",entry: './src/index.js',devtool: 'cheap-module-eval-source-map',devServer: {contentBase: './dist',open: true,hot: true, proxy: {'/my': {target: 'https://api-hmugo-web.itheima.net',secure: false,changeOrigin: true,pathRewrite: {'^/my': ''}}}},module: {rules: [{test: /\.css$/,use: ["style-loader","css-loader","postcss-loader",],}],},plugins: [new HtmlWebpackPlugin({template: './src/index.html'}),new CleanWebpackPlugin(),new webpack.HotModuleReplacementPlugin() ],output: {filename: '[name].js',path: path.resolve(__dirname, 'dist')}
}
提示:配置文件修改了需要重启才会生效
-
打包 yarn run dev
打包后提示这个说明热更新已经开启了
此时修改就不会重新刷新页面,通过右下角 network 可以证明,它并没有下载新的页面,而是实时地更新