码迷,mamicode.com
首页 > Web开发 > 详细

webpack 中 css 和 html 刷新问题的解决思路

时间:2018-02-21 23:01:49      阅读:883      评论:0      收藏:0      [点我收藏+]

标签:打包   方案   serve   客户   创建   ade   浏览器插件   log   index   

webpack-dev-server有热更新功能,当webpack入口的js文件被修改,则会自动更新数据并刷新浏览器。

css 问题

如果使用style-loader将样式添加到js文件中,在编写样式的时候可以享受热更新的效果,如果使用extract-text-webpack-plugin 将样式提取,此组件并不支持热更新。只会重新打包但是并不会刷新页面。

官方建议在开发环境中关闭ExtractText组件。

html 问题

html-webpack-plugin 创建html 并不经过entry的入口,并没有在热更新的检测范围,所以并没有热更新

总结:css 和 html 没有热更新的原因是没有进入到entry 入口,不在热跟新的检测范围内。

解决方案1:

使用express、webpack-dev-middleware和webpack-hot-middeware手动搭建一个高定制化的node 服务器。帮html和样式文件也纳入到热更新的检测范围。

此方法成本比较高。如果不熟练,容易衍生更多问题-_-||

解决方案2:

css:开发环境中使用style-loader。
html:在入口文件利用raw-loader 加载一下你的index.html 文件。(个人并没有验证此方法。)
总的来说是让html和css文件进入到webpack的热更新的检测范围。

解决方案3:

使用LiveReload浏览器插件。

需要两个部分:

  • 在系统安装 liveReload 客户端服务器 作用:检测指定文件变化
  • 在浏览器安装 liveReload 插件 执行更新行为。

此方案简单粗暴,不用修改配置文件,不会衍生其他问题。

webpack 中 css 和 html 刷新问题的解决思路

标签:打包   方案   serve   客户   创建   ade   浏览器插件   log   index   

原文地址:https://www.cnblogs.com/liang1100/p/8457701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!