继续[WDS]断开连接!错误

时间:2016-04-28 14:30:35

标签: javascript node.js reactjs

enter image description here

我目前正在开始使用ReactJs。但是,我在控制台中遇到以下错误:终端中没有显示:

  

[WDS]断开连接!sock.onclose @ client?64c0:70EventTarget.dispatchEvent @ eventtarget.js:49(匿名函数)@main.js:356

     

abstract-xhr.js:128 GET http://127.0.0.0/sockjs-node/info?t=1461853324372 net :: ERR_CONNECTION_TIMED_OUT

它正在寻找我在本地和全球安装的“sockjs-node”,但没有变化。它不应该搜索“node_modules”文件夹吗?

这是我的配置:

var webpack = require("webpack");
var path = require("path");


module.exports = {

    devtool: "inline-source-map",
    entry: [
        "webpack-dev-server/client?http://127.0.0.0/",
        "webpack/hot/only-dev-server",
        "./src"
    ],
    devServer: {
        contentBase: "./public",
        hot: true,    
        inline: true,
        quiet: false,
        noInfo: true,
        stats: { colors: true }
    },
    output: {
        path: path.join(__dirname, "./public"),
        filename: "./assets/js/bundle.js"
    },
    resolve: {
        modulesDirectrories: ["node_modules", "src"],
        extentions: ["", ".js"]
    },
    module : {
        loaders: [
            { 
                test: /\.jsx?$/,
                exclude: "/node_modules/",
                loaders: ["react-hot-loader", "babel?presets[]=react,presets[]=es2015"] 
            }, 
            {
                test: /\.css$/,
                loader: "style-loader!css-loader"
            }, 
            {
                test: /\.gif$/,
                loader: "url-loader?mimetype=image/png"
            }, 
            {
                test: /\.woff(2)?(\?v=[0-9].[0-9].[0-9])?$/,
                loader: "url-loader?mimetype=application/font-woff"
            }, 
            {
                test: /\.(ttf|eot|svg)(\?v=[0-9].[0-9].[0-9])?$/,
                loader: "file-loader?name=[name].[ext]"
            }
        ]
    },
    plugins: [ 
        new webpack.HotModuleReplacementPlugin(),
        new webpack.NoErrorsPlugin(),
        new webpack.DefinePlugin({
            "process.env": {
                NODE_ENV: JSON.stringify("development")
            }
        })
    ]

}

感谢任何帮助,并提前感谢。

12 个答案:

答案 0 :(得分:9)

我这样修好了;

原样:

  entry: [
    "webpack-dev-server/client?http://localhost:9090",
    "webpack/hot/only-dev-server",
    "./src/app"
  ],

成为:

  entry: [
    "webpack-dev-server/client?http://127.0.0.0:8080",
    "webpack/hot/only-dev-server",
    "./src"
  ],

答案 1 :(得分:3)

问题似乎是您没有在网址webpack-dev-server/client?http://127.0.0.0/

中包含端口号

更改此

entry: [
    "webpack-dev-server/client?http://127.0.0.0/",
    "webpack/hot/only-dev-server",
    "./src"
],

要:

entry: [
    "webpack-dev-server/client?http://127.0.0.0:8080/",
    "webpack/hot/only-dev-server",
    "./src"
],

答案 2 :(得分:3)

对我来说,在根项目中创建文件<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="button" id="newlabelID" value="Open input element to insert text "/></br> <input type="color" id="colorDialogID" ></br> <a id="aID"> Text to paint</br>时解决了,内容如下:

vue.config.js

答案 3 :(得分:0)

您无需更改webpack.config.js

尝试修复package.json(在端口3000上启动服务器而不是标准 8080):

"start": "./node_modules/.bin/webpack-dev-server --host localhost --port 3000 --content-base src --inline --hot",

答案 4 :(得分:0)

development.js文件中,尝试使用dev_server的以下设置:

dev_server: {
    host: '127.0.0.0'
    port: 8080
    https: false
    disableHostCheck: true
}

答案 5 :(得分:0)

我正在使用angular,我使用webpack服务器作为dev-dependency。我正在寻找答案,而且找不到合适的答案。

注意:这只是一种解决方法,而不是解决实际问题

打开以下文件

  

YOUR_PROJECT_ROOT \ node_modules \的WebPack-DEV-服务器\客户\ index.js

在方法 onSocketMsg 下,功能ok() 注释行reloadApp()。

这可以防止应用重新加载。即使您进行了更改,也会停止重新加载应用程序。但您可以随时手动重新加载浏览器,您的更改会反映出来。

答案 6 :(得分:0)

在我们的案例中,问题是由于webpack-dev-server用来提供资产的主机名与应用程序运行所在的主机名不匹配。

具体来说,我们的本地应用程序是从https://dev.resumize.me运行的,但是webpack-dev-server是从127.0.0.1提供资产的。

您可以使用选项webpack-dev-server控制--host使用的主机名。因此,在本例中,我们必须使用以下命令启动它:

webpack-dev-server.js --host dev.resumize.me --https

希望这会有所帮助。

答案 7 :(得分:0)

这将通过启用错误覆盖来解决,

overlay:truedevServer对象中再添加一个属性

devServer: {
    overlay: true,
    contentBase: "./public",
    hot: true,    
    inline: true,
    quiet: false,
    noInfo: true,
    stats: { colors: true }
}

更改您的webpack.config.js

var webpack = require("webpack");
var path = require("path");


module.exports = {

    devtool: "inline-source-map",
    entry: [
        "webpack-dev-server/client?http://127.0.0.0/",
        "webpack/hot/only-dev-server",
        "./src"
    ],
    devServer: {
        overlay: true,
        contentBase: "./public",
        hot: true,    
        inline: true,
        quiet: false,
        noInfo: true,
        stats: { colors: true }
    },
    output: {
        path: path.join(__dirname, "./public"),
        filename: "./assets/js/bundle.js"
    },
    resolve: {
        modulesDirectrories: ["node_modules", "src"],
        extentions: ["", ".js"]
    },
    module : {
        loaders: [
            { 
                test: /\.jsx?$/,
                exclude: "/node_modules/",
                loaders: ["react-hot-loader", "babel?presets[]=react,presets[]=es2015"] 
            }, 
            {
                test: /\.css$/,
                loader: "style-loader!css-loader"
            }, 
            {
                test: /\.gif$/,
                loader: "url-loader?mimetype=image/png"
            }, 
            {
                test: /\.woff(2)?(\?v=[0-9].[0-9].[0-9])?$/,
                loader: "url-loader?mimetype=application/font-woff"
            }, 
            {
                test: /\.(ttf|eot|svg)(\?v=[0-9].[0-9].[0-9])?$/,
                loader: "file-loader?name=[name].[ext]"
            }
        ]
    },
    plugins: [ 
        new webpack.HotModuleReplacementPlugin(),
        new webpack.NoErrorsPlugin(),
        new webpack.DefinePlugin({
            "process.env": {
                NODE_ENV: JSON.stringify("development")
            }
        })
    ]

}

答案 8 :(得分:0)

我遇到了同样的错误,因为我的Webpack已配置为在localhost:3000处服务,但是我从803000进行了本地端口重定向,并且我正在使用http://localhost/访问开发应用程序。但是在网络检查器中,我注意到WDS仍在查询http://localhost:3000/sockjs-node/info?...,该超时。

解决方案是告诉Webpack您应用的“公开”地址,在我的情况下是这样的:

devServer: {
      https: false,
      port: 3000,
      public: 'http://localhost:80'
    }

(注意::80的{​​{1}}部分是可选的,因为public是默认的,但为了清楚起见添加了80是端口服务,3000是重定向到的端口。)

(不要问我为什么不简单地使用80,这很复杂。但是我希望我的回答有一天能对像我这样的人有所帮助。)

答案 9 :(得分:0)

在webpack配置文件中:修改devServer并添加:

{ 
  disableHostCheck: true,
  transportMode: 'ws',
  injectClient: false
} 

像下面这样,它应该可以工作:

devServer: {
  contentBase: "./public",
  hot: true,    
  inline: true,
  quiet: false,
  noInfo: true,
  stats: { colors: true }
  disableHostCheck: true,
  transportMode: 'ws',
  injectClient: false
}

它对我有用。

答案 10 :(得分:0)

我是这样修复的:

  devServer: {
    host: '0.0.0.0',
    https: false,
    port: 8080,
    public: 'http://0.0.0.0:8080'
  },  

答案 11 :(得分:-2)

<link rel="stylesheet" href="./main.css"> <script src="./main.js"></script> 更改路径中:

   <link rel="stylesheet" href="/main.css">
   <script src="/main.js"></script> 

var fraDecimal: Double, fraBinary: Double, bFractional: Double = 0.0, dFractional: Double = 0.6817, fraFactor: Double = 0.1
var dIntegral: Int, bIntegral: Int = 0
var intFactor: Int = 1, remainder: Int, temp: Int, i: Int
var signs: Int = 6

while (signs > 0 && dFractional > 0){
    dFractional = dFractional * 2
    temp =  dFractional
    bFractional = bFractional + fraFactor * temp
    if(temp == 1) {
        dFractional = Int(dFractional) - temp
    }
    fraFactor=fraFactor/10
    signs-=1
}