心急的同学直接看最后的解决答案(仅作参考哦!)
今天在学习 webpack5.0 ,写小 demo 时碰到一个很怪异的问题:
webpack-dev-server 启动后,修改html和css内容,无法实现自动刷新页面或热重载。
我的 npm 包版本如下:
"css-loader": "^5.0.1",
"html-webpack-plugin": "^4.5.0",
"style-loader": "^2.0.0",
"webpack": "^5.11.0",
"webpack-cli": "^4.2.0",
"webpack-dev-server": "^3.11.0"
刚开始我是在 macbook 中写的代码,各种语法检查,各种对照网上大神们的代码,甚至都直接复制人家的代码粘贴到我的demo中,都一样没有任何反应。
晕头转向的我开始怀疑起我的 macbook 起来,难道是我平时瞎折腾,把系统某些功能给整坏了?
于是我转到旁边的台式windows电脑上,从零开始重新又写了一个小demo,一运行发现居然可以自动刷新和热重载! WTF!!真的是系统问题?!
由于windows中我写的是简化版的demo,于是对照着简化demo,将macbook上的代码逐行删除再运行,试图确定问题根源。
经过一行行测试对比终于发现了问题所在,macbook上的demo,package.json 中我配置了 browserslist 选项,而windows上并没有写这一项配置,而正是由于这个坑爹的选项,导致了问题的出现,删除掉这个选项,macbook上一切正常了!
经过百度之后得知,这是个bug,目前还没有修复,但可以通过设置 target: "web" 来暂时解决, 具体设置位置如下:
module.exports = {
...
target: "web"
}
网友评论