我正在尝试使用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库中导出,所以我无法访问它。

10-07 14:08