我正在尝试使用StropheJS库连接到XMPP服务器,但无法找出正确的方法将其集成到我的reactJS应用程序中。现在,通过在node_modules文件夹中的strophe.js包文件中添加此行来导出Strophe对象,使代码工作module.exports = Strophe;
但我认为这不是正确的解决方法。有人可以指导我如何去做。
在我的js文件中,我通过添加以下行来导入strophe:
// This is JS
import React, { Component } from 'react';
import Strophe from "strophe";
class Login extends Component {
constructor(){
super();
this.state = {
connection: null
}
}
componentWillMount(){
this.setState({
connection : new Strophe.Connection("http://localhost:7070/http-bind/")
});
}
我想要一种不修改原始strophe软件包文件的方法。如果您想看一下,这是我完整的代码:https://github.com/cravi24/clientApp/blob/master/src/Components/Login.js
最佳答案
终于找出了我的代码的问题。 Strophe是Strophe库中的全局对象,一旦在我的react应用程序中导入该库,它就会成为窗口对象的一部分。因此,我需要像这样使用它:
new window.Strophe.Connection("http://localhost:7070/http-bind/")
代替
new Strophe.Connection("http://localhost:7070/http-bind/")
早些时候,我希望strophe对象在我的课程中可以作为本地var使用,但是由于它没有在strophe库中导出,所以我无法访问它。