WebSocket连接失败。 在WebSocket握手期间错误 – socketjs

细节:

我一直在试图将我的反应项目configuration为使用hot loader以便我可以在不必重新启动服务器的情况下进行积极的开发。 每当websocket尝试连接时,我都会收到一个连续的错误消息:

WebSocket connection to 'ws://192.168.33.10/sockjs-node/301/eo4p2zps/websocket' failed: Error during WebSocket handshake: Unexpected response code: 404 。 我的直觉告诉我,这可能与我运行Ubuntu -v 14.04.3 VM(stream浪者) 14.04.3 。 除了上面logging的错误,我得到:

 http://192.168.33.10/sockjs-node/629/s0dz3nxv/xhr_streaming?t=1482558136743 404 (Not Found) http://192.168.33.10/sockjs-node/629/jbjciaga/eventsource 404 (Not Found) http://192.168.33.10/sockjs-node/iframe.html 404 (Not Found) http://192.168.33.10/sockjs-node/629/e1x0l01e/xhr?t=1482558137388 404 (Not Found) Warning: [react-router] Location "/sockjs-node/629/dr44jysd/htmlfile?c=_jp.ajy5ad3" did not match any routes client?e2df:41 [WDS] Disconnected! Uncaught SyntaxError: Unexpected token < 

我也采取了以下样板: https : //github.com/jpsierens/webpack-react-redux希望能够比较我目前的configuration,但两者似乎是正确的。

configuration

webpack.config.js

 'use strict'; var path = require('path'); var webpack = require('webpack'); var HtmlWebpackPlugin = require('html-webpack-plugin'); module.exports = { devtool: 'eval-source-map', entry: [ 'webpack-dev-server/client?http://0.0.0.0:80/', 'webpack/hot/only-dev-server', 'react-hot-loader/patch', path.join(__dirname, 'app/index.js') ], output: { path: path.join(__dirname, '/dist/'), filename: '[name].js', publicPath: '/' }, plugins: [ new HtmlWebpackPlugin({ template: 'app/index.tpl.html', inject: 'body', filename: 'index.html' }), new webpack.optimize.OccurenceOrderPlugin(), new webpack.HotModuleReplacementPlugin(), new webpack.NoErrorsPlugin(), new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify('development') }) ], eslint: { configFile: '.eslintrc', failOnWarning: false, failOnError: false }, module: { preLoaders: [ { test: /\.js$/, exclude: /node_modules/, loader: 'eslint' } ], loaders: [ { test: /\.js?$/, exclude: /node_modules/, loader: 'babel' }, { test: /\.json?$/, loader: 'json' }, { test: /\.scss$/, loader: 'style!css!sass?modules&localIdentName=[name]---[local]---[hash:base64:5]' }, { test: /\.woff(2)?(\?[a-z0-9#=&.]+)?$/, loader: 'url?limit=10000&mimetype=application/font-woff' }, { test: /\.(ttf|eot|svg)(\?[a-z0-9#=&.]+)?$/, loader: 'file' } ] } }; 

server.js

 var webpack = require('webpack'); var WebpackDevServer = require('webpack-dev-server'); var config = require('./webpack.config'); new WebpackDevServer(webpack(config), { publicPath: config.output.publicPath, hot: true, historyApiFallback: true, // It suppress error shown in console, so it has to be set to false. quiet: false, // It suppress everything except error, so it has to be set to false as well // to see success build. noInfo: false, stats: { // Config for minimal console.log mess. assets: false, colors: true, version: false, hash: false, timings: false, chunks: false, chunkModules: false } }).listen(8080, 'localhost', function (err) { if (err) { console.log(err); } console.log('Listening at localhost:8080'); }); 

加成

另请参阅我的错误的更多graphical输出:

错误控制台输出

结论

如果您有任何build议或想法,请告诉我。 如果我可以提供更多的细节,让我知道。