获取 HTML 页面以与 node-xmpp/xmpp 服务器通信



请记住,我对所有这些javascript/node.js风格的HTML编码都非常陌生。过去,我用HTML所做的一切都是静态/信息样式的页面。

我正在尝试创建一个 HTML 网页,该网页将从用户获取 xmpp 相关信息(服务器地址、端口、用户 JID、密码、聊天消息、其他用户 JID 等),并将其通过节点.js服务器路由到 xmpp 服务器。最终,我要做的是获取 webrtc.io 代码并将其扩展到XMPP服务器上的用户并与之交互。在尝试执行此操作时,我找到了node-xmpp模块并将其"安装"(npm install)到我的项目工作目录中的node_modules文件夹中。

然后,我创建了一个非常基本的索引.html文件(文本输入框),该文件获取用户信息,然后在索引.html文件中包含的javascript文件中调用函数。在javascript文件中,我添加了require函数/调用const xmpp = require('node-xmpp'),添加了var client = new xmpp.Client({[connection settings]});,然后从一些基本的节处理程序和其他xmpp函数开始。

然后,当我在浏览器中"运行"代码时,甚至在我开始输入信息之前,我看到控制台正在报告错误。起初它们是我编写的 xmpp 函数的错误,所以我将所有内容注释掉,只拥有new xmpp.Client({})行,看看它是否会连接。但是,我会得到一个错误cont xmpp = require('node-xmpp').该错误是

捕获的引用错误:未定义要求(匿名函数)

根据我对所有这些html/javascript/服务器内容的有限理解,我认为正在发生的事情是客户端/浏览器不知道/无法访问node.js或node-xmpp库。

这是对的吗?我应该以不同的方式做事吗?是否有任何好的教程/文档可以涵盖这一点?

如果我理解你在说什么,你正在尝试在浏览器中执行节点代码。节点源应该在服务器上执行,而不是在浏览器中执行。您将有两组 JavaScript 文件:您提供给浏览器的文件要在浏览器上执行的文件,以及使用节点实例在服务器上执行的文件。 如果我误解了,请告诉我们更多关于您的系统结构的信息。

require() 函数未知导致问题。我认为您可能犯了一些错误,包括node.js。

检查此"需要'socket.io 客户端.js"是否正常工作

您可能会找到问题的答案。

最新更新