前期准备:

const path = require('path');
const HtmlWebpackPlugin= require('html-webpack-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin')
var ManifestPlugin = require('webpack-manifest-plugin');
const webpack= require('webpack'); module.exports = {
entry: {
main: './src/main.js'
},
devServer: {
historyApiFallback: true,
contentBase: './dist'
},
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
},{
test: /\.(png|jpg|gif|svg)$/,
//loader是use[{loader}]的简写
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
},{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: {
'scss': 'vue-style-loader!css-loader!sass-loader',
'sass': 'vue-style-loader!css-loader!sass-loader?indentedSyntax',
}
// other vue-loader options go here
}
}
]
},
devtool: 'inline-source-map',
output: {
//非覆盖更新
filename: '[name].js',
path: path.resolve(__dirname, 'dist'),
publicPath: '/a/'
},
};
import chunk1 from './chunk1'
import chunk2 from './chunk2'
import aa from './aa.css' var jquery =require('jquery')
var angular =require('angular')
console.log(333)
document.onclick= function(){
console.log(aa)
}
console.log(jquery('body'))
console.log(angular) if(module.hot){
module.hot.accept('./chunk1.js');
}
var chunk1=2;
var a= 12399
exports.chunk1=chunk1;

让我们先进行一次热加载:修改chunk1.js,将a的值改为123

此时,webpack会生成两份文件,如下图:

分别是chunkNumber+previousHash+hot-update.json和chunkNumber+previousHash+hot-update.js

previousHash上一次生成的hash值(每一次构建都会生成一个hash值)

这些文件处于内存中,因此我们在浏览器内查看具体内容:

hot-update.json:

解析:

h(hash)当前生成的hash值, c(chunkHash) 发生变更的module的编号,chunk1的编号是0

hot-update.js:

webpackHotUpdate函数的三个参数分别为: 对编号为0的module进行更新,更新module的编号,及新内容

浏览器控制台输出:

5即更新module的编号,与webpackHotUpdate对应

最新文章

  1. 一、Redis基本操作——String(原理篇)
  2. MVC 添加 httpHandlers 支持 .aspx 页面访问
  3. PHP+微信分享自定义小图标
  4. 百度面试题——top K算法
  5. ARM GCC 内嵌(inline)汇编手册
  6. Hibernate Is Not Mapped(实体名 is not mapped [from book where id='0'])
  7. 【5】python核心编程 第八章-条件和循环
  8. Mac下使用MySQL
  9. weighted Kernel k-means 加权核k均值算法理解及其实现(一)
  10. Python读入CIFAR-10数据库
  11. ionic轮播图
  12. thinkphp 攻略
  13. Winform中的TextBox的小技巧
  14. Unity 脚本中的主要函数的 执行顺序及其介绍
  15. 《HTTP 权威指南》笔记:第十三章 摘要认证体制
  16. Vue笔记:使用 Yarn 管理依赖包
  17. C++ shared_ptr的用法
  18. gnome3增加自定义程序快捷方式
  19. html 标准属性不要用 setAttribute 方法
  20. Android系统示例分析之AccelerometerPlay

热门文章

  1. bit、位、byte、字节、B、KB、字符与网速
  2. C++PE文件格式解析类(轻松制作自己的PE文件解析器)
  3. 不让命令记录到history中
  4. 代理server的概要知识
  5. HTTP基础(整理)
  6. 我如何添加一个空目录到Git仓库?
  7. Apache上部署Django
  8. sql数据库log自动增长被取消
  9. cheap louis vuitton outlet
  10. 如何禁止同IP站点查询和同IP站点查询的原理分析 Robots.txt屏蔽BINGBOT