使用 react-hot-loader
来源:互联网 发布:张佳玮 保罗跳投 知乎 编辑:程序博客网 时间:2024/06/01 10:12
经过 @assassin_cike 提醒有这样一个loader,今天试了一下真的非常好用。
https://segmentfault.com/a/1190000004660311
hot loader 是干嘛的呢?引用官网的一句话就是
React Hot Loader is a plugin for Webpack that allows instantaneous live refresh without losing state while editing React components.
简单的讲,就是使用 react 编写代码时,能让修改的部分自动刷新。但这和自动刷新网页是不同的,因为 hot-loader 并不会刷新网页,而仅仅是替换你修改的部分,也就是上面所说的 without losing state
。
用一张图来感受一下:
使用
其实官方(点这里)已经介绍的很清楚了,只是可能一些小细节得自己找一下,我在这里就记录一下具体的使用流程吧。
安装
首先是安装 react-hot-loader
npm install --save-dev react-hot-loader
另外 hot-loader 是基于 webpack-dev-server,所以还得安装 webpack-dev-server
npm install --save-dev webpack-dev-server
配置
配置 webpack-dev-server
使用 react-hot-loader 时,首先还是要让 webpack-dev-server 打开。
在根目录新建 server.js
var webpack = require('webpack');var WebpackDevServer = require('webpack-dev-server');var config = require('./webpack.config');new WebpackDevServer(webpack(config), { publicPath: config.output.publicPath, hot: true, historyApiFallback: true}).listen(3000, 'localhost', function (err, result) { if (err) { return console.log(err); } console.log('Listening at http://localhost:3000/')});
配置 webpack.config.js
然后在 webpack 的配置文件里添加 react-hot-loader。
打开 webpack.config.js
var webpack = require('webpack');module.exports = { // 修改 entry entry: [ // 写在入口文件之前 "webpack-dev-server/client?http://0.0.0.0:3000", "webpack/hot/only-dev-server", // 这里是你的入口文件 "./src/app.js", ], output: { path: __dirname, filename: "build/js/bundle.js", publicPath: "/build" }, module: { loaders: [ { test: /\.jsx?$/, exclude: /node_modules/, // 在这里添加 react-hot,注意这里使用的是loaders,所以不能用 query,应该把presets参数写在 babel 的后面 loaders: ['react-hot', 'babel?presets[]=react,presets[]=es2015'] } ] }, // 添加插件 plugins: [ new webpack.HotModuleReplacementPlugin() ]
使用
首先运行 server.js
(当然你可以在 package.json 里面配置,使用 npm start 运行)
node server.js
然后照常使用 webpack
webpack --display-error-details --progress --colors --watch
- 使用 react-hot-loader
- 使用 react-hot-loader
- react-hot-loader记录
- webpack配置react-hot-loader热加载局部更新
- WEB前端使用 webpack + reack 搭建框架 02 本地服务 与 热替换(react-hot-loader)
- React当中css-loader使用
- 【React】配置react-hot-loader后出现import' and 'export' may only appear at the top level
- react-native Hot Reloading
- react-redux-universal-hot-example错误
- one-hot使用体会
- HOT
- HOT!!!!
- Hot
- 使用AndFix进行Hot fix
- pandas使用get_dummies进行one-hot编码
- cordova-hot-code-push-plugin使用流程
- ABBYY Hot Folder日志功能怎么使用
- Webpack Hot Middleware安装和使用
- Android Camera 通过V4L2与kernel driver的完整交互过程
- this和self区别
- 原创超清的 Webpack2 视频教程
- Fzu 2202 犯罪嫌疑人【逻辑推理思维题】好题!
- 对I/O设备的控制方式与假脱机SPOOLing
- 使用 react-hot-loader
- 矩阵加法
- 约束最值问题的拉格朗日对偶性
- POJ 3463 Sightseeing
- 史上最详细的 webpack 讲解 1 (vue-cli 中 build.js)
- 转载: 关于std: :nothrow
- A2DP Sink, AVRCP Controller and HFP Client in Android L
- tensorflow学习之识别单张图片的实现(python手写数字)
- JVM(7):JVM调优-工具篇