ホットリロード機能を正しく動作させることができないようです。更新を行うたびに、次のエラー メッセージが表示されます。
http://localhost:9090/cd0492f7657672ef15e4.hot-update.json 404 (見つかりません)
[HMR] アップデートを適用できません。フルリロードが必要です!
[HMR] (おそらく webpack-dev-server の再起動のため)
に行くと404を取得しますが、に行くとファイルを見つけることができるため、これが原因publicPath: '/js/',
であると確信しています。gulpfile.js
http://localhost:9090/cd0492f7657672ef15e4.hot-update.json
http://localhost:9090/js/cd0492f7657672ef15e4.hot-update.json
ただしpublicPath: '/js/'
、必要なapp.js
ので、修正方法がわかりません。アイデアはありますか?
webpack.config.js
var webpack = require('webpack');
module.exports = {
cache: true,
entry: ['webpack/hot/dev-server', './resources/assets/app.js'],
output: {
path: __dirname + '/public/js',
publicPath: '/js/',
filename: "scripts.js"
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel'
}
]
}
};
gulpfile.js
...
var webpackConfig = require('./webpack.config.js');
...
gulp.task('webpack-dev-server', function(callback) {
// modify some webpack config options
var myConfig = Object.create(webpackConfig);
myConfig.devtool = 'eval';
myConfig.debug = true;
myConfig.plugins = [
new webpack.HotModuleReplacementPlugin()
];
// Start a webpack-dev-server
new webpackDevServer(webpack(myConfig), {
hot: true,
stats: {
colors: true
},
publicPath: '/js/',
proxy: {
'*': 'http://localhost:8080'
}
}).listen(9090, 'localhost', function(err) {
if (err) throw new gulpUtil.PluginError('webpack-dev-server', err);
});
});