webpack配置react-hot-loader热加载局部更新
来源:互联网 发布:java 互斥锁 编辑:程序博客网 时间:2024/06/05 09:19
有人会问 webpack-dev-server 已经是热加载了,能做到只要代码修改了页面也自动更新了,为什么在 react 项目还要安装 react-hot-loader 呢?其实这两者的更新是有区别的,webpack-dev-server 的热加载是开发人员修改了代码,代码经过打包,重新刷新了整个页面。而 react-hot-loader 不会刷新整个页面,它只替换了修改的代码,做到了页面的局部刷新。但它需要依赖 webpack 的 HotModuleReplacement 热加载插件。
下面来说说怎么来配置 react-hot-loader 。
步骤1:
安装 react-hot-loader
npm install --save-dev react-hot-loader
步骤2:
在 webpack.config.js 的 entry 值里加上 react-hot-loader/patch,一定要写在entry 的最前面,如果有 babel-polyfill 就写在
babel-polyfill 的后面。
entry: [ 'babel-polyfill', 'react-hot-loader/patch', //设置这里 __dirname + '/app/main.js']
步骤3:
在 webpack.config.js 中设置 devServer 的 hot 为 truedevServer: { contentBase: './build', port: '1188', historyApiFallback: true, inline: true, hot: true, //设置这里 },步骤4:
在 .babelrc 里添加 plugin
{ "presets": ['es2015', 'react'], "plugins": ["react-hot-loader/babel"] //设置这里}
步骤5:
在 webpack.config.js 的 plugins 里添加依赖的 HotModuleReplacement 插件
plugins: [ new HtmlWebpackPlugin({ template: __dirname + "/app/index.tmpl.html" }), new webpack.HotModuleReplacementPlugin() //设置这里]步骤6:
最后这个操作就是在页面的主入口,比如我的是 main.js 添加些代码
import React from 'react';import ReactDOM from 'react-dom';import Greeter from './greeter';import "./main.css";import { AppContainer } from 'react-hot-loader'; //设置这里const render = (App) => {ReactDOM.render(<AppContainer><App /></AppContainer>,document.getElementById('root'))}render(Greeter)// Hot Module Replacement API if (module.hot) { module.hot.accept('./greeter', () => { render(require('./greeter').default) })}
简写成这样试了一下也能成功
import React from 'react';import ReactDOM from 'react-dom';import Greeter from './greeter';import "./main.css";ReactDOM.render( <App />, document.getElementById('root')) if (module.hot) { module.hot.accept()}按顺序做完上面6个步骤,恭喜你,React 的 react-hot-loader 已经配置好了。没错,就是这么繁琐。
阅读全文
0 0
- webpack配置react-hot-loader热加载局部更新
- webpack react基础配置二 热加载
- redux+react+webpack+热加载+兼容IE8(持续更新)
- redux+react+webpack+热加载+兼容IE8(持续更新)
- WEB前端使用 webpack + reack 搭建框架 02 本地服务 与 热替换(react-hot-loader)
- webpack 配置热更新
- 使用NPM配置React环境及Webpack热加载
- 使用 react-hot-loader
- 使用 react-hot-loader
- react-hot-loader记录
- webpack-hot-middleware热加载相关错误的解决办法
- webpack-hot-middleware热加载相关错误的解决办法
- vue-cli的webpack项目,webpack-hot-middleware热加载热部署有时候不刷新页面
- webpack+vue + express (hot) 热启动调试简单配置
- 热更新 hot update
- 在webpack应用的入口代码中,实现react相关组件的热重载(hot reload)
- react 热加载,局部刷新,babel-preset-react-hmre
- webpack配置热更新代码分享
- virtual memory exhausted: Cannot allocate memory
- udp buffer 和reassemble buffer
- 一个Java小白面试得力集团的收获总结
- 51单片机中断系统(定时器、计数器)
- MyBatis动态sql之${}和#{}区别
- webpack配置react-hot-loader热加载局部更新
- 图片和文字垂直居中-flex布局
- java synchronized详解
- SpringMVC(三)第一个小测试
- Linux进程的管理与调度(八) -- Linux下进程的创建过程分析(_do_fork/do_fork详解)
- Linux -free查看应用可用内存
- 指针与指针进阶
- 文档总结17-C语言基础
- E185: Cannot find color scheme 'solarized'