问题
当我运行下面的代码时,我收到以下错误。
index.tsx
import WebSocket from 'ws';
export default function Home() {
const socket = new WebSocket('ws://localhost:1919/ws');
return (
<div>Home</div>
);
}
误差
Unhandled Runtime Error
Error: ws does not work in the browser. Browser clients must use the native WebSocket object
重现错误的条件
- 初始化项目
yarn create next-app
所有选项均被选为默认值。
- 添加
ws
yarn add ws
yarn add @types/node @types/ws
1条答案
按热度按时间8hhllhi21#
ws中的WebSocket不是为浏览器设计的,所以你不能使用它。相反,你需要使用浏览器原生的WebSocket,并确保在客户端使用useEffect,就像这样: