javascript - Webpack 2 设置 Hot Module Replacement 问题
阿神
阿神 2017-04-11 12:19:32
[JavaScript讨论组]

看了许多关于 Hot Module Replacement 设置的文章,设置貌似有多种不同的方案。

但我发现只设定:

  1. output.publicPath

  2. devServer.hot

  3. HotModuleReplacementPlugin

  4. module.hot.accept()

使用 webpack-dev-server 就可以开启 HMR。

因此想请问关于 entry 中的:

'webpack-dev-server/client?http://localhost:8080',
'webpack/hot/dev-server',
'webpack/hot/only-dev-server',

以及 devServer 中的:

inline: true

以上的详细用途是什么?对 HMR 来说是必要的吗?

附上 webpack.config.js:

const path = require('path');
const webpack = require('webpack');

module.exports = {
  context: path.join(__dirname, 'src'),
  entry: ['./index.js'],
  output: {
    path: path.join(__dirname, 'dist/js'),
    filename: 'bundle.js',
    publicPath: '/js/'
  },
  module: {
    rules: [{
      test: /\.js$/,
      exclude: /node_modules/,
      use: [{
        loader: 'babel-loader',
        options: {
          "presets": [
            ["es2015", { "modules": false }]
          ]
        }
      }]
    }]
  },
  devServer: {
    contentBase: path.join(__dirname, 'dist'),
    hot: true,
    open: true
  },
  plugins: [
    new webpack.HotModuleReplacementPlugin(),
    new webpack.NamedModulesPlugin()
  ]
};

以及 index.js:

if (module.hot) {
  module.hot.accept();
}
阿神
阿神

闭关修行中......

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号