热更新

雨点打透心脏的1/2处 2024-04-17 05:25 247阅读 0赞

简单来说我的理解就是:当你的文件发现改变的时候页面自己就更新了。不用你再手动刷新页面。无刷新更新

常见的需求如赛事网页推送比赛结果、网页实时展示投票或点赞数据、在线评论或弹幕、在线聊天室等,都需要借助热更新功能,才能达到实时的端对端的极致体验。

如果你是登录-列表-详情好几个页面的话,热更新会提高速度。否则你手动刷新他又重新回到登录,还得从新操作一遍才能回到你修改测试的页面。

他的原理就是:

浏览器的网页通过websocket协议与服务器建立起一个长连接,当服务器的css/js/html进行了修改的时候,服务器会向前端发送一个更新的消息,如果是css或者html发生了改变,网页执行js直接操作dom,局部刷新,如果是js发生了改变,只好刷新整个页面。

  1. 引入了webpack库
  2. 使用了new webpack.HotModuleReplacementPlugin()
  3. 设置devServer选项中的hot字段为true

const path = require(‘path’);
const HtmlWebpackPlugin = require(‘html-webpack-plugin’);
const CleanWebpackPlugin = require(‘clean-webpack-plugin’);
const webpack = require(‘webpack’);

module.exports = {
entry: {
app: ‘./src/index.js’
},
devtool: ‘inline-source-map’,
devServer: {
contentBase: ‘./dist’,
hot: true
},
plugins: [
new CleanWebpackPlugin([‘dist’]),
new HtmlWebpackPlugin({
title: ‘Hot Module Replacement’
}),
new webpack.HotModuleReplacementPlugin()
],
output: {
filename: ‘[name].bundle.js’,
path: path.resolve(__dirname, ‘dist’)
}
};

发表评论

表情:
评论列表 (有 0 条评论,247人围观)

还没有评论,来说两句吧...

相关阅读

    相关 更新

    单来说我的理解就是:当你的文件发现改变的时候页面自己就更新了。不用你再手动刷新页面。无刷新更新 常见的需求如赛事网页推送比赛结果、网页实时展示投票或点赞数据、在线评论或...

    相关 更新

    介绍下 webpack 热更新原理,是如何做到在不刷新浏览器的前提下更新页面   1.当修改了一个或多个文件; 2.文件系统接收更改并通知webpack; 3.we

    相关 webpack实现更新

    昨天看到公司有前端同事在研究`webpack`,今天有空正好找下资料也`look look` 我最早接触`webpack`是2019年6月-7月之间,当时对前端还是很模糊的,

    相关 更新

    虽然有插件开发,但热更新少不了。 ![Center][] 当我们需要更新插件的时候使用的是插件开发,当我们需要更新宿主程序就需要使用热更新 热更新使用框架bsdif