【问题标题】:How to use websockets in Next js如何在 Next js 中使用 websockets
【发布时间】:2019-01-14 17:21:39
【问题描述】:

我正在使用 Next js 对我的应用程序进行服务器端渲染。但是,我还需要连接到使用 websockets 的 Gamesparks 库(用于身份验证)。每次我尝试将我的脚本添加到 head 标记时,我都会收到它不起作用的错误。是否可以在 Next js 中使用 websockets?我已经看到了很多关于 socket io 的内容,并且正在考虑它,但我必须重新编写附加的库。我也很好奇,我是否应该尝试使用自己的后端 Express 服务器来管理这些连接?

您可能会说,我是网络开发的新手,所以任何资源或建议都将不胜感激!

来自浏览器的错误信息是http://localhost:3000/gamesparks/gamesparks-rt.jsnet::ERR_ABORTED 404 (Not Found)

【问题讨论】:

  • 请记住,在 Stack Overflow 上,第一件事是非常具体,向我们展示您遇到的确切错误,不要让我们猜测。然后向我们展示产生这些错误的代码。您的浏览器可能会向您提供表明存在问题的信息,但该问题并不是“错误不起作用”那么简单。
  • 刚刚编辑包含错误!我不确定它是否有帮助,但你说得对,我应该把它包括在内

标签: javascript reactjs server next.js server-side-rendering


【解决方案1】:

这个错误几乎总是有用的。

这意味着它无法找到该 JavaScript 文件,因此您需要找出原因。您的服务器是否设置为提供静态资产? You'll need to configure this:

app.use(express.static('public'))

相对于 Express 项目,您将该文件放在 public/gamesparks/gamesparks-rt.js 中的位置。

这是 404 类型错误通常指的:您的浏览器请求了该文件,但被告知该文件不存在。除非您告诉 Express,否则 Express 不会提供“静态”文件,因此您需要对其进行配置。

【讨论】:

  • 嘿,谢谢!如果有人遇到同样的问题,我只是想扩展一下我是如何找到答案的。你是对的,因为我需要为静态资产提供服务,但是 Next js 已经为此内置了功能,即根目录中的“静态”文件夹。我只是将文件移到那里,更改了链接,它就起作用了!
猜你喜欢
  • 2022-12-13
  • 1970-01-01
  • 2020-12-22
  • 2020-08-27
  • 2023-02-11
  • 2023-03-08
  • 2022-01-09
  • 2021-05-06
  • 2021-10-13
相关资源
最近更新 更多