websocket socket-io未连接到Vite React应用程序

k5hmc34c  于 2023-04-06  发布在  React
关注(0)|答案(1)|浏览(138)

让socket io连接一个新的Vite应用程序有问题。我已经用同样的代码,用Create React应用程序实现了这一点
服务器:

const app = express();
app.use(cors());

const server: http.Server = http.createServer(app);
const io = new Server(server);

io.on("connection", (socket) => {
  console.log("connected");
});

客户:

useEffect(() => {
    const socket = io("/");
  }, []);

useEffect位于应用程序的主页面上,并且肯定会被调用,但我的服务器文件中的控制台日志从未被调用。(服务器肯定正在运行)
我的vite配置看起来像这样,以防万一:

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  server: {
    port: 3000,
    proxy: {
      "/api": {
        target: "http://localhost:5000",
        changeOrigin: true,
        secure: false,
      },
    },
  },
});
vecaoik1

vecaoik11#

我能够将"http://localhost:5000"(我的服务器所在的位置)传递给客户端io调用,现在它可以工作了。当我使用Create React App时不需要这个的原因是因为我的代理已经设置为"http://localhost:5000"。不幸的是,Vite中的代理设置不同。

相关问题