项目结构:
我的项目结构是:前后端分离。
前端node + express + nuxt 后端 beego
来自浏览器的请求都经过node, node使用http-proxy-middleware代理所有请求参数为/api的请求。
当使用asyncData方法在组件渲染前异步请求数据时,node url parse 去解析你的这个 /api 参数的,然后再传给相应的如 http request所以默认就是80端口 (
http://cnodejs.org/topic/58944c40fa1fd87f05922d99
)(前一句话是原因,不是完全明白,在链接网页的文章的评论有。)
报错位置如下:
export default {
asyncData () {
return axios.get(`/api/users`)
.then((res) => {
return { title: res.data.title }
配置代理如下:
app.use(proxy('/api', { target: 'http://127.0.0.1:8080', changeOrigin: true }));
当前node服务器网址:127.0.0.1:3000, 接口服务器地址:127.0.0.1:8080
asyncData方法异步请求数据时,以为/api/${params.id}这个接口的网址是 127.0.0.1:80, 所以将请求发送给了127.0.0.1:80,而我的接口服务器并没有跑在80端口上,所以报错。
报错全文(url被我替换了,不过不影响理解):
{ Error: connect ECONNREFUSED 127.0.0.1:80
at Object.exports._errnoException (util.js:1020:11)
at exports._exceptionWithHostPort (util.js:1043:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14)
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '127.0.0.1',
port: 80,
config:
{ adapter: [Function: httpAdapter],
transformRequest: { '0': [Function: transformRequest] },
transformResponse: { '0': [Function: transformResponse] },
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
validateStatus: [Function: validateStatus],
headers:
{ Accept: 'application/json, text/plain, */*',
'User-Agent': 'axios/0.16.2' },
method: 'get',
params: { page: 1, size: 10 },
url: '/api/users',
data: undefined },
request:
Writable {
_writableState:
WritableState {
objectMode: false,
highWaterMark: 16384,
needDrain: false,
ending: false,
ended: false,
finished: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function],
writecb: null,
writelen: 0,
bufferedRequest: null,
lastBufferedRequest: null,
pendingcb: 0,
prefinished: false,
errorEmitted: false,
bufferedRequestCount: 0,
corkedRequestsFree: [Object] },
writable: true,
domain: null,
_events:
{ response: [Function: handleResponse],
error: [Function: handleRequestError] },
_eventsCount: 2,
_maxListeners: undefined,
_options:
{ maxRedirects: 21,
protocol: 'http:',
hostname: null,
port: null,
path: '/api/users',
method: 'get',
headers: [Object],
agent: undefined,
auth: undefined,
pathname: '/api/users',
search: '?page=1&size=10' },
_redirectCount: 0,
_bufferedWrites: [],
_onNativeResponse: [Function],
_currentRequest:
ClientRequest {
domain: null,
_events: [Object],
_eventsCount: 5,
_maxListeners: undefined,
output: [],
outputEncodings: [],
outputCallbacks: [],
outputSize: 0,
writable: true,
_last: true,
upgrading: false,
chunkedEncoding: false,
shouldKeepAlive: false,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedHeader: {},
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
socket: [Object],
connection: [Object],
_header: 'GET /api/users HTTP/1.1\r\nAccept: application/json, text/plain, */*\r\nUser-Agent: axios/0.16.2\r\nHost: localhost\r\nConnection: close\r\n\r\n',
_headers: [Object],
_headerNames: [Object],
_onPendingData: null,
agent: [Object],
socketPath: undefined,
timeout: undefined,
method: 'GET',
path: '/api/users',
_ended: false,
_redirectable: [Circular],
parser: null },
_currentUrl: 'http:/api/users' },
response: undefined }
1. 将node服务器端口改成 127.0.0.1:80
2. 将接口服务器端口改成 127.0.0.1:80
3. 将asyncData方法使用的请求url加上域名+端口,如下所示
export default {
asyncData ({ params }) {
return axios.get(`https:`)
.then((res) => {
return { title: res.data.title }
错误原因项目结构:我的项目结构是:前后端分离。 前端node + express + nuxt 后端 beego 来自浏览器的请求都经过node, node使用http-proxy-middleware代理所有请求参数为/api的请求。当使用asyncData方法在组件渲染前异步请求数据时,node url parse 去解析你的这个 /api 参数的,然后再传给相应的如 http req
技术宅 Error JavaScript MySQL Node.js 木有吐槽
最近用 Node 写一个小玩意,需要用到 MySQL 数据库,现在用得最广泛的是 mysql 这个库。然后呢,现在 ORM 这么火,干脆也上 ORM 吧,正好我也不会可以学习一下,于是找到了 Sequelize.js 这个 ORM 库。
看看 Sequelize 的文档,so easy,两分钟搞定~
import Sequelize from 'sequelize';
let sequelize = new Sequelize(
Error: connect ECONNREFUSED 127.0.0.1:3306
今天做koa连接数据库配置时,出现 Error: connect ECONNREFUSED 127.0.0.1:3306
Error: connect ECONNREFUSED 127.0.0.1:3306
at TCPConnectWrap.afterConnect [as oncomple...
Nuxt.js 生成静态报错
Error: connect ECONNREFUSED 127.0.0.1:9001 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)
多半是因为你的异步请求数据地址访问无效,
检查:你调用数据接口的URL地址,是否可以正常访问
我是在使用 nuxt 的 asyncData 方法遇到了这个问题。
最后解决办法是补全访问 url
其实我们在配置axios的时候已经配置过了前缀,但是不知道为什么在这里不行,所以需要写全url
报错的写法
解决方法一:补全路径
解决方法二:拦截器里面配置前缀
import { message } from 'ant-design-vue/lib'
export defa...
背景:最近负责一个公司的开源项目,由于要求代码覆盖率达到95%,而接受项目的时候是96%,意味之我有1%的空间。。。
问题描述:
1.在写了一些单元测试的时候,发现在跑test命令的时候出现了下图的错误
console.error node_modules/@testing-library/react/dist/act-compat.js:52
Error: Error: connect ECONNREFUSED 127.0.0.1:80
at Object.dispatch
练习Vue项目的时候,想让项目跑起来一开始输入node .\app.js 数据库连接报错:
Error: ER_ACCESS DENIED ERROR: Access denied for user ‘root’@‘localhost’ (using password: YES)
没有发现,这个错误,然后在POSTMAN里面测试接口文档又报错:
post Error: connect ECONNREFUSED 127.0.0.1:8888
一直找原因,才发现是数据库没连上,密码错误了,你可以在你的项目文件夹
启动服务器失败,报错信息如下:
Error: connect ECONNREFUSED 127.0.0.1:3306 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1157:16) --------------------
解决方案:
1.打开后台数据库命名文件夹 config 找到数据库命名项
2.更改database项中命名.
3.重启控制器,重新连接数据库,...
这个报错也是一直困扰了我许久,服务端一直打印这个报错,但是页面数据响应又都正常,起初真不知道是因为什么原因,能看出来他是在调用80端口, 但是不明白为什么会调用80端口。一度以为是config.js里面配置问题,所以解决的思路就一直在考虑配置方面,端口等方面。
最后发现都没有效果,在网上也查了各种类似的报错问题,解决方案也都不在点子上。考虑到我的config配置都是按官方模板配...
https://github.com/alibaba/anyproxy/issues/415
其实这访问的是代理http://127.0.0.1:8001/,而不是web地址:http://127.0.0.1:8001/。一定得仔细看CLI提示,端口号要对。
Error: connect ECONNREFUSED
at errnoException (net.js:770:11)
at Object.afterConnect [as oncomplete] (net.js:761:19)
最后在stackoverflow找到解决方案,这主要由于上一次node.js server进程仍然还在运行没关闭掉,所以我们需要杀掉此进程
Error: connect ECONNREFUSED 127.0.0.1:8084
今天遇到一个很奇葩的问题,花了两个小时才找出来,内心是崩溃的,直接社死,接下来我说一下我的解决过程…
我看百度上让我这样解决
然而这样试还是没有用 继续
postman 一直拒绝连接 项目启动成功了,但是没有端口号 就很奇怪
此处省略一万字 ,最后受到一个同事的启发 会不会是jar包的问题 意外发现
导入web的包 解决问题
<dependency>
<groupId>
问题:nuxt正常点击跳转没问题。但是刷新页面会出现接口错误。asyncData 没有使用async asyncData方法去请求后台地址刷新页面就没问题,如果使用了该方法去请求后台刷新页面就报上面的异常。
排查一:然后我就打印下error,发现是出现错误是Error: connect ECONNREFUSED 127.0.0.1:80 at TCPConnectWrap.afterConnect
[此时运行的访问链接还是http://localhost:3000/]
然后我排查二:搜索Erro.
e8love:
【实现简单的容器】- docker基础技术之namespace
NetRookieX:
【实现简单的容器】- docker基础技术之namespace
NetRookieX:
【golang】make & new
NayelyAA: