6

ホットリロード機能を正しく動作させることができないようです。更新を行うたびに、次のエラー メッセージが表示されます。

http://localhost:9090/cd0492f7657672ef15e4.hot-update.json 404 (見つかりません)
[HMR] アップデートを適用できません。フルリロードが必要です!
[HMR] (おそらく webpack-dev-server の再起動のため)

に行くと404を取得しますが、に行くとファイルを見つけることができるため、これが原因publicPath: '/js/',であると確信しています。gulpfile.jshttp://localhost:9090/cd0492f7657672ef15e4.hot-update.jsonhttp://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);
    });
});
4

0 に答える 0