请问老师HRM无效
来源:3-10 Hot Module Replacement 热模块更新(2)
hy_wang
2020-08-22
老师我这么写为什么number.js的HRM并不会生效?
// main.js
import count from "./HRM/count"
import number from "./HRM/number"
count()
number()
if (module.hot) {
module.hot.accept("./HRM/number", () => {
console.log("仅仅更新number")
const number = document.getElementById('number')
console.log(number, 'number')
// document.body.removeChild(number)
number()
})
}
HRM文件下的count.js
export default function count() {
let div = document.createElement('div')
div.innerHTML = 1
div.onclick = () => {
div.innerHTML = parseInt(div.innerHTML, 10) + 1
}
document.body.appendChild(div)
}
HRM文件下的number.js
export default function number() {
let div = document.createElement('div')
div.setAttribute("id", 'number')
div.innerHTML = '200230';
document.body.appendChild(div)
}
请问老师我如果把number()函数注释掉就可以正常
// 如果放开注释HRM就不会走进这个函数这是为什么
if (module.hot) {
module.hot.accept("./HRM/number", () => {
console.log(“仅仅更新number”)
const number = document.getElementById(‘number’)
console.log(number, ‘number’)
// document.body.removeChild(number)
// number()
})
}
写回答
1回答
-
hy_wang
提问者
2020-08-22
老师我明白了,是因为我的const问题。。好低级的错误,可是请问下老师我代码已经写错了为什么控制台并不报错,正常来说应该报TypeError啊。。为什么我number()还不报错。
012020-08-23
相似问题