请问老师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()还不报错。

0
1
Dell
好的!
2020-08-23
共1条回复

从基础到实战 手把手带你掌握新版Webpack4.0

知识点+项目实例+原理讲解 全方位解析Webpack4新版本

3627 学习 · 1291 问题

查看课程