关闭Webpack - [HMR]热模块更换功能



我已经环顾四周,但无法得到任何我在stackoverflow上看到的答案。

我不能使用命令行webpack或webpack dev-server;我被限制使用Node API。

下面是我如何使用webpack的。

webpack.config.js

module.exports = {
  entry: [
    'webpack-dev-server/client?http://localhost:3000',
    // i've also tried webpack/hot/dev-server here
    'webpack/hot/only-dev-server',
    path.join(__dirname, 'src', 'js', 'app.jsx')
  ],
  output: {
    path: path.join(__dirname, 'dist', 'js'),
    filename: 'script.js',
    publicPath: '/dist/'
  },
  module: {
    loaders: [{
      test: /.(js|jsx)$/,
      loaders: ['react-hot', 'babel']
    }]
  },
  plugins: []
};

包含在gulp任务"start"

gulp.task('start', function (callback) {
  var config = Object.create(require('webpack.config.js'));
  config.plugins.push(new webpack.HotModuleReplacementPlugin());
  var devServer = new webpackDevServer(webpack(config), {
    stats: { colors: true },
    contentBase: path.resolve(__dirname, 'dist'),
    progress: true,
    inline: true,
    hot: true
  });
});

当我运行gulp start时,我希望webpack开发服务器启动,允许我访问localhost:3000/。这会从我的项目的/dist/文件夹中加载一个index.html。到目前为止一切顺利。我希望当我对文件(例如app.jsx)进行更改时,会显示更改。

实际情况

我得到错误"[HMR]热模块替换被禁用",没有进一步的解释。

任何帮助都会很感激。我一整天都在试着让热加载工作

在webpack.config.js的plugins部分试试这个,

plugins: [new webpack.HotModuleReplacementPlugin()]

我知道你在gulp任务中推送插件,但你必须在cli或npm脚本中使用--hot --inline

尝试运行webpackpackage .json中的webpack-dev-server --hot --inline;不知怎么的,官方文档现在错了。

相关内容

  • 没有找到相关文章

最新更新