全稱是Hot Module ReplaceMent(HMR),理解成熱模塊替換或者模塊熱替換都可以吧,和.net中的熱插拔一個意思,就是在運行中對程序的模塊進行更新。這個功能主要是用于開發(fā)過程中,對生產(chǎn)環(huán)境沒有任何幫助(這一點區(qū)別.net熱插拔)。效果上就是界面的無刷新更新。

HMR基于WDS,style-loader可以通過它來實現(xiàn)無刷新更新樣式。但是對于JavaScript模塊就需要做一點額外的處理,怎么處理繼續(xù)往下看。因為HMR是用于開發(fā)環(huán)境的,所以我們修改下配置,做兩份準備。一個用于生產(chǎn),一個用于開發(fā)。

移動開發(fā)培訓,Android培訓,安卓培訓,手機開發(fā)培訓,手機維修培訓,手機軟件培訓

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const webpack = require('webpack');

const PATHS = {
  app: path.join(__dirname, 'app'),
  build: path.join(__dirname, 'build'),
};

const commonConfig={
 entry: {
    app: PATHS.app,
  },
  output: {
    path: PATHS.build,
    filename: '[name].js',
  },
  plugins: [    new HtmlWebpackPlugin({
      title: 'Webpack demo',
    }),
  ],
} 
function developmentConfig(){
  const config ={
    devServer:{      //使能歷史記錄api
      historyApiFallback:true,       hotOnly:true,//關閉熱替換 注釋掉這行就行
&n