Reactjs 使用Web包开发服务器
我最近尝试为webpack2+babel6+gulp+react热加载程序项目制作一个样板。我从叉子开始。然后我在上面加了一个gulpfile作为 如果您阅读代码,您会发现我只添加了最后1个提交,它添加了gulp包、gulp文件和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
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