Node.js/Express+Socket.js:服务器响应状态404解决办法

我使用的是node.js/Express+Socket.io搭建的基本服务,启动项目后使用登录等接口都没有问题,但是控制台一直在报这样的错误:

http://localhost:8080/socket.io/?EIO=3&transport=polling&t=Mw6XCn5 404 (Not Found)

我的server.js文件如下:

const express = require('express')
const http = require('http')
const app = express()
const server = http.createServer(app)
const io = require('socket.io')(server)
// 开启端口监听socket
server.listen(process.env.PORT || 3000, () => console.log('app listening on port 3000'))

这是启动我的web服务器的端口设置,但是要在客户端还需要启动,所以参考StackOverflow这个答案:

src/common/util里的socket.js文件中的内容更改如下:

import io from 'socket.io-client'
const socket = io.connect('http://localhost:3000')
export default socket

然后在main.js中引入,即可在启动项目的同时启动Socket.io

import socket from './common/util/socket'
socket.on('connect', () => {
  console.log('连接成功')
})
socket.on('disconnect', () => {
  console.log('连接断开')
})

然后重新启动项目,不再报错。

你可能感兴趣的:(node)