css hot loader,解决安装react-hot-loader后修改css/less文件不会热更新问题

webpack中启动了模块热替换,也是全网页刷新,不是局部更新!

这两天在研究react-hot-loader如何应用在react的项目中,之前webpack.dev.config.js配置中,设置了devServer: { hot: true, ... },plugins: [ new Webpack.HotModuleReplacementPlugin(), ... ],更改了js/jsx 文件都是全网页刷新,开始以为这就是热更新,且满足现状。而且修改了css/less文件后页面不会刷新,需要手动刷新样式才会生效,觉得不应该手动刷新但是也没去找原因为什么会这样【i 服了me】。

想提高开发效率,于是安装react-hot-loader,看了网上别人写的博客,以及官网后,需要配置webpack,我没做配置(其实配置了也管用,只是配置后我的eslint检验变的更严厉了),直接在项目路由文件中使用:

import { hot, setConfig } from 'react-hot-loader';  const Routes = () => {} ;  export default hot(module)(Routes);

为什么不在app.js 入口文件中使用呢?因为入口文件中使用了,在入口文件中使用react-hot-loader出现警告:You cannot change ;

再说一下,安装react-hot-loader后webpack以及.babelrc没做任何配置,直接在路由文件中使用了。且生效了。

但是,修改css/less 文件后,还是需要手动刷新页面样式才会生效,此时还是不知道啥原因。后来在网上看到这篇章才然大悟使用react-hot-loader的一些问题,原来是我的webpack配置在开发环境中抽离了css(一般在生产环境中进行抽离),于是进行了修改:

e3bab53e749f

使用style-loader

修改的意思是将样式文件也打包到js中,然后,然后修改了css/less 文件的样式后页面元素局部刷新了。后来发现即使不添加react-hot-loader,将css/less打包进js后,修改样式文件页面也会热更新的。

对于上面遇到的问题,主要是自己学的浅,没深入研究问题导致的,不说了,继续学习吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值