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

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 插件 执行更新行为。

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

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

时间: 2024-10-31 14:21:27

webpack 中 css 和 html 刷新问题的解决思路的相关文章

在落地DevOps项目中遇到的困难、挑战和解决思路

DevOps落地困境 本文章由www.mingpaixinxi.com网转载分享,DevOps落地为什么那么难?因为从设计人员.组织架构.流程.人员技能到工具,变化很大,要求很高,建设风险很高.从理念到落地,需要一定的周期才能够成熟,技术决策者一般都比较慎重. DevOps落地困境包括: 设计部门多 流程改造复杂 责任边界需要重新划分 考核等配套机制没有跟上 技术成熟度低 自动化是核心问题 回过头来看,人们把过去打包.配置.部署,甚至运维,都做了很多自动化的尝试.最为典型的是CI和CD,为什么说

项目开发中遇到的问题,原因,解决思路

后台代码报错:看控制台日志,找到控制台中自己的写的类对应的错误代码的那一行:(有些信息是java底层的信息,看不大懂,不用看,看自己写的代码) 然后分析,具体是在类中对应的方法里面打个断点.用Eclipse的debug模式启动,调到断点的那一行,具体问题边跟踪代码便分析.比如空指针最常见的异常, 假如我们正在做增删改操作,假如做根据id删除的功能时报错,看你根据id查找的对象是否为空,然后推理是否id为空,是否id参数没有传递成功等等,一步一步 的找到问题的原因. 如果后台不报错,但是前台页面仍

Webpack中的sourcemap

Webpack中sourcemap的配置 sourcemap是为了解决开发代码与实际运行代码不一致时帮助我们debug到原始开发代码的技术.尤其是如今前端开发中大部分的代码都经过编译,打包等工程化转换.比如开发环境下用scss写样式, 想在浏览器中在线编辑css那样编辑scss就不是那么容易了.从我自己看过的资料中, sourcemap的概念最早出现在12年, jquer1.9是较早支持sourcemap的库.这篇博客比较有代表性:Introduction to JavaScript Sourc

webpack中使用wowjs和animate.css

animate.css 是一个来自国外的 CSS3 动画库,它预设了抖动(shake).闪烁(flash).弹跳(bounce).翻转(flip).旋转(rotateIn/rotateOut).淡入淡出(fadeIn/fadeOut)等多达 60 多种动画效果,几乎包含了所有常见的动画效果. 官网:https://daneden.github.io/animate.css github:https://github.com/daneden/animate.css WOW.js可以在页面向下滚动的

透过现象看webpack处理css文件中图片路径转换的具体过程

webpack是目前使用比较流行的一个前端模块打包器,前端的任何资源都被当成一个模块来处理,如图片.css文件等等.在基于webpack构建的前端项目中,一般都会配置有关css文件处理的规则,这其中也包括css文件中图片资源的处理,那么webpack到底是怎么处理它的呢?笔者之前也遇到过类似图片路劲的问题,为此还写过一篇博文webpack生成的css文件background-image url图片无法加载.今天就来说说webpack是怎么处理css文件中的图片路径的,首先上一个具体的例子. 一个

在webpack中使用postcss之插件包precss

precss是一个预处理css的插件包,集成了很多postcss插件的功能,比如嵌套,变量,继承,混合,循环,判断.下面来介绍如何在webpack中使用precss.一.新建项目1.新建package.json #自动生成package.json文件 npm init 2.新建webpack.config.js module.exports = { entry: "./main.js", output: { path: __dirname, // __dirname是node.js中的

react&webpack使用css、less && 安装原则 --- 从根本上解决问题。

在webpack-react项目中,css的使用对于不同人有不同的选择,早起是推荐在jsx文件中使用 css inline js的,但是这种方法要写很多对象来表示一个一个的标签,并且对于这些对象,我们在写样式时,还必须要使用驼峰式的写法,所以,这无疑使我们不能接受的,最好的做法就是讲css文件写在一个单独的文件夹中外联进来. webpack同时也是可以将css文件当做一个一个的模块的,所以,我们就需要对css模块的处理进行配置. npm install css-loader style-load

Webpack中的路径

webpack中涉及许多路径参数的配置.在此做个整理. context context是webpack编译时的基础目录,entry入口会相对于此目录查找. 若不配置,默认值是当前目录,webpack设置context.默认值代码: this.set("context", process.cwd()); 即webpack运行所在目录. context应该是绝对路径,假设入口是src/main.js,则可以设置 { context: path.resolve("./src&quo

webpack分离css单独打包

webpack分离css单独打包 字数285 阅读0 评论0 喜欢0 瞎扯 webpack 把所有的资源都当成了一个模块, CSS,Image, JS 字体文件 都是资源, 都可以打包到一个 bundle.js 文件中.但是有时候需要把样式 单独的打包成一个文件, 然后放到 CND上, 然后缓存到浏览器客户端中 这个操作很简单的,只需要一个插件就好了,就是extract-text-webpack-plugin 1. 安装extract-text-webpack-plugin npm instal