Webpack hmr: __webpack_hmr 404 not found
Je suis en utilisant webpack-dev-serveur pour un remplacement de module à chaud. Il fonctionne très bien, mais cette erreur continue de s'afficher dans la console à chaque couple de secondes: GET http://mysite:8080/__webpack_hmr 404 (Not Found)
.
Voici mon webpack.config.js:
var webpack = require('webpack'),
hostname = 'mysite',
port = 8080;
module.exports = {
entry: [
'babel-polyfill',
'./src/js/main.js',
'./dev/requireCss.js',
'webpack/hot/dev-server',
//I'm assuming the fault lies in the following line, but I can't figure out what's wrong
'webpack-hot-middleware/client?path=http://'+hostname+':'+port+'/__webpack_hmr'
],
output: {
path: __dirname + '/webpack',
filename: "bundle.js",
publicPath: 'http://'+hostname+':'+port+'/'
},
module: {
loaders: [{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loaders: ['react-hot', 'babel-loader?presets[]=react&presets[]=es2015']
} //removed some loaders for brevity
]
},
resolve: {
extensions: ['', '.json', '.js', '.jsx']
},
plugins: [
new webpack.HotModuleReplacementPlugin()
],
devtool: "source-map",
devServer: {
contentBase: __dirname + '/dev',
hot: true,
proxy: [{
path: /\/(?!__webpack_hmr).+/, //I get the same error if I change this to 'path: /\/.+/'
target: 'http://my-backend.localhost'
}]
}
};
L'idée est que les dev-server doit transmettre toutes les demandes à l'exception de /
et __webpack_hmr
à mon backend (my-backend.localhost
). Cela fonctionne très bien pour tout sauf __webpack_hmr
.
Est-il quelque chose que je peux changer dans ma conf à faire l'erreur disparaît?
Vous devez vous connecter pour publier un commentaire.
Résolu en supprimant la ligne suivante sous entrée:
'webpack-hot-middleware/client?path=http://'+hostname+':'+port+'/__webpack_hmr'
.je ne sais pas pourquoi cela a fonctionné.Voir Amin Ariana réponse à une explication de ce travail pour vous.webpack-dev-server
a écrit le bundle de disque, puisqu'il n'est pas monwebpack-dev-server
a l'aide de vieux fichiers qui ont été fournis avec l'entrée ci-dessus qui doivent être supprimés.Cette ligne dans l'entrée de gamme n'a pas bien jouer avec
webpack-dev-server
:parce que c'est une exigence de
webpack-hot-middleware
pour travailler avec n'importe quel autre serveur quewebpack-dev-server
(commeexpress
ou quelque chose du genre).J'ai couru dans ce mixte-problème de serveur en suivant Webpack tutoriels. Ils devraient le mettre à jour, de sorte que le point d'entrée pour le fichier de configuration de Webpack à l'aide de webpack-dev-serveur n'a pas besoin d'un artefact produit par webpack-hot-middleware, qui tente de hot-émettre le développeur du module de mises à jour dans un custom-built serveur, selon elle.
Vous pouvez supprimer cette ligne à partir de l'entrée de tableau, qui dans le cas de l'utilisation de la dev-serveur devrait résoudre le problème.
Pour info Cette ligne dans votre code à partir d'ici:
https://github.com/webpack-contrib/webpack-hot-middleware
où il est dit:
Basé sur votre question, "je suis en utilisant webpack-dev-serveur", vous êtes donc pas à l'aide de "webpack-hot-middleware" et retirer la ligne d'entrée.