webpack配置热更新代码分享
来源:互联网 发布:旅游大数据分析 编辑:程序博客网 时间:2024/05/16 01:46
介绍2种方案:
一、webpack-dev-middleware和webpack-hot-middleware结合
demo在这:https://github.com/hyy1115/react-redux-webpack
安装
npm i --save-dev webpack-dev-middleware webpack-hot-middleware
配置选项
1、webpack.config.js:在入口entry配置热更新的url,在plugin添加new webpack.HotModuleReplacementPlugin()
entry: [ 'webpack-hot-middleware/client?path=http://本地ip:端口/__webpack_hmr&reload=true&noInfo=false&quiet=false', 'babel-polyfill', './src/index' ], output: { filename: 'bundle.js', path: path.join(__dirname, 'build'), publicPath: 'http://本地ip:端口/build/', chunkFilename: '[hash].bundle.js' }, plugins: [ new webpack.optimize.OccurenceOrderPlugin(), new webpack.HotModuleReplacementPlugin(), new webpack.NoErrorsPlugin() ],
2、server.js:开启前端服务器
var webpackConfig = require('./webpack.config.js');var webpackDevMiddleware = require("webpack-dev-middleware");var webpackHotMiddleware = require('webpack-hot-middleware');app.use(webpackDevMiddleware(compiler, { noInfo: true, publicPath: webpackConfig.output.publicPath, headers: { "X-Custom-Header": "yes" }, stats: { colors: true }}));app.use(webpackHotMiddleware(compiler));
3、通常你还需要配置热更新的入口文件,比如我用redux开发,那么热更新入口一般放在store文件,添加这个方法module.hot.accept()来检查是否支持热更新。
if(module.hot) { // accept itself module.hot.accept(); // removeStyleTag(element: HTMLStyleElement) => void var removeStyleTag = require("./removeStyleTag"); // dispose handler module.hot.dispose(function() { // revoke the side effect removeStyleTag(element); });}
二、webpack-dev-server(很多人喜欢用这种方式)
demo在这:https://github.com/hyy1115/react-redux-webpack2
安装
npm i --save-dev webpack-dev-server
1、webpack.js:只需要做下面这样一个配置即可。
module.exports = { devServer: { contentBase: './src', historyApiFallback: true, port: 3022, compress: isProd, inline: !isProd, hot: !isProd, //开发模式支持热更新 stats: { assets: true, children: false, chunks: false, hash: false, modules: false, publicPath: false, timings: true, version: false, warnings: true, colors: { green: '\u001b[32m', } }, }}
1 0
- webpack配置热更新代码分享
- webpack 配置热更新
- webpack热更新原理
- webpack模块热更新
- webpack配置react-hot-loader热加载局部更新
- webpack 热更新(实施同步刷新)
- webpack热模块替换(HMR)/热更新
- lua代码热更新
- NodeJS代码热更新
- Unity热更新代码
- springboot 热更新配置
- webpack react基础配置二 热加载
- 5.2webpack的热加载配置
- U3D 代码、资源热更新
- cocos2d-js 热更新代码
- cocos2d热更新代码分析
- skynet 热更新 lua 代码
- 热部署配置代码
- html onclick="function"放入参数
- tjut 5943
- python中reduce()函数
- Servlet生命周期
- DNS原理及实战配置指南
- webpack配置热更新代码分享
- 模版笔记001 - 函数模版
- Linux服务器MySQL开启远程连接
- jQuery-学习积累-4
- 时钟周期 机器周期 指令周期
- Neural Networks for Machine Learning(系列)letcure 1
- LAST_INSERT_ID()
- 解析自己的域名到CSDN博客、CSDN博客自定义域名
- 未知宽高的容器设置居中、未知行数的文本设置居中