我目前正在开始使用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")
}
})
]
}
感谢任何帮助,并提前感谢。
答案 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:true
在devServer
对象中再添加一个属性
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
处服务,但是我从80
到3000
进行了本地端口重定向,并且我正在使用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
}