这是我的入口文件
/***
** 入口模块
***/
import { header } from './header.js';
import { Ccontent} from './content.js'
const fragment = document.createDocumentFragment();
fragment.append(header);
fragment.append(Ccontent());
if (module.hot) {
module.hot.accept('./content.js',() => {
let ch = document.getElementById('cc');
document.body.removeChild(ch);
console.log(Ccontent())
document.body.append(Ccontent());
})
}
document.body.append(fragment);
/***
** 被引用的模块
***/
function Ccontent () {
const content = document.createElement('div');
content.setAttribute('id','cc');
content.innerHTML = '我是contsssst';
return content
}
function sayHi() {
console.log('你好');
}
export {
Ccontent,
sayHi
}
module.hot.accept
函数监听content
模块的变化,他的参数是一个回调函数,而回调函数是一个异步操作,而tree shaking
不支持异步调用模块,所以tree shaking
打包失效。content
模块相当于被重新引入,然后accept
函数自动帮我解构出Ccontent
,sayHi
吗?