您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“react-hot-loader怎么用”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當(dāng),希望這篇“react-hot-loader怎么用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
“react-hot-loader”用于在使用react編寫代碼時讓修改的部分自動刷新;“hot-loader”并不會刷新網(wǎng)頁,而是替換修改的部分,可用“npm install --save-dev react-hot-loader”安裝。
本教程操作環(huán)境:Windows10系統(tǒng)、react17.0.1版、Dell G3電腦。
hot loader 是干嘛的呢?引用官網(wǎng)的一句話就是
簡單的講,就是使用 react 編寫代碼時,能讓修改的部分自動刷新。
但這和自動刷新網(wǎng)頁是不同的,因為 hot-loader 并不會刷新網(wǎng)頁,而僅僅是替換你修改的部分。
安裝
首先是安裝 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,應(yīng)該把presets參數(shù)寫在 babel 的后面 loaders: ['react-hot', 'babel?presets[]=react,presets[]=es2015'] } ] }, // 添加插件 plugins: [ new webpack.HotModuleReplacementPlugin() ]
使用
首先運行 server.js(當(dāng)然你可以在 package.json 里面配置,使用 npm start 運行)
node server.js
然后照常使用 webpack
webpack --display-error-details --progress --colors --watch
讀到這里,這篇“react-hot-loader怎么用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。