Reactjs 使用Web包开发服务器

Reactjs 使用Web包开发服务器,reactjs,gulp,webpack-dev-server,webpack-2,react-hot-loader,Reactjs,Gulp,Webpack Dev Server,Webpack 2,React Hot Loader,我最近尝试为webpack2+babel6+gulp+react热加载程序项目制作一个样板。我从叉子开始。然后我在上面加了一个gulpfile作为 如果您阅读代码,您会发现我只添加了最后1个提交,它添加了gulp包、gulp文件和npm run gulp脚本。您可能想看一看,它目前看起来是这样的: const gulp = require('gulp'); const webpack = require('webpack'); const cfg = require('./webpack.con

我最近尝试为webpack2+babel6+gulp+react热加载程序项目制作一个样板。我从叉子开始。然后我在上面加了一个gulpfile作为

如果您阅读代码,您会发现我只添加了最后1个提交,它添加了gulp包、gulp文件和
npm run gulp
脚本。您可能想看一看,它目前看起来是这样的:

const gulp = require('gulp');
const webpack = require('webpack');
const cfg = require('./webpack.config');
const devServer = require('webpack-dev-server');
const path = require('path');
const util = require('gulp-util');

gulp.task('dev', () => {
  cfg.plugins = [
    new webpack.HotModuleReplacementPlugin(),
  ];
  cfg.entry = {
    'app': [
      'babel-polyfill',
      'react-hot-loader/patch',
      'webpack-dev-server/client?http://localhost:8080',
      './src/index',
    ],
  };

  new devServer(webpack(cfg), {
    //contentBase: path.join(__dirname, 'dist'),
    hot: true,
    historyApiFallback: true,
    //publicPath: cfg.output.publicPath,
    stats: {
      colors: true,
    },
  }).listen(8080, 'localhost', function (err) {
    if(err) throw new gutil.PluginError("webpack-dev-server", err);
    util.log(`'${util.colors.cyan('dev:server')}' http://localhost:8080/webpack-dev-server/index.html`);
  });
});
据推测,命令
npm run dev
npm run gulp
应该具有相同的效果。但实际上,
gulp
命令不起作用

  • 如果我更改了React代码,浏览器中的代码应该相应地更新

    npm run dev
    中代码更新的控制台日志:

  • 相反,尽管浏览器确实从webpack dev服务器获得了更新的信号,但DOM不会随信号一起更新

    npm run gulp
    中代码更新的控制台日志:

关于如何修复这个样板有什么建议吗