1

私はwebpack.config.jsこのようなものを持っています:

module.exports = {
    entry: [
        'webpack-dev-server/client?http://0.0.0.0:8090', // WebpackDevServer host and port
        'webpack/hot/only-dev-server', // "only" prevents reload on syntax errors
        './public/js/app.jsx' // Your appʼs entry point
    ],
    debug: true,
    output: {
        path: __dirname,
        filename: filelocation,
        publicPath: 'http://localhost:8090/',
        hotUpdateChunkFilename: 'hot/[id].[hash].hot-update.js',
        hotUpdateMainFilename: 'hot/[hash].hot-update.json'
    },
    module: {
        loaders: [{
            // test: /\.jsx?$/,
            loaders: ['react-hot','babel?presets[]=es2015,presets[]=react'],
            include: [
                path.resolve(__dirname, "./public/js"),
            ],
            exclude: [
                path.resolve(__dirname, "node_modules"),
            ]
        }],
        resolve: {
            extensions: ['', '.js', '.jsx']
        }
    },
    plugins: [new webpack.HotModuleReplacementPlugin()]

};

私が実行するwebpack --watchと、完全に正常に動作します。変更を加えると、ディレクトリの下にhot-update.js/が生成されます。jsonhot

そして、次のような webpack dev サーバーがあります。

new WebpackDevServer(webpack(config), {
    publicPath: config.output.publicPath,
    hot: true,
}).listen(8090, 'localhost', function (err, result) {
    if (err) {
        return console.log(err);
    }
});

私はwebpack --watchwebpack dev server paralleyを実行しています。変更を加えることができ、webpack が変更をhotディレクトリにプッシュしています。しかし、私のブラウザ コンソールでは、webpack 開発サーバーが次のようなエラーをスローしています。

 http://localhost:8090/hot/8f052261dd06c76e85cd.hot-update.json 404
[HMR] Cannot find update. Need to do a full reload!
[HMR] (Probably because of restarting the webpack-dev-server)

リロードすると動作します。上記の URL を手動で追加することに注意してください。

http://localhost:8090/hot/8f052261dd06c76e85cd.hot-update.json

アクセス可能です。どこで間違いを犯しているのかわかりません。また、ホットなson/jsファイルをディスクに保存せず、HMRを適用するweb pack-dev-serverにのみ送信する方法はありますか?

Webpack および webpack-dev-server のバージョンが1.7.0

4

0 に答える 0