Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js TypeError:需要(…)。connect不是函数_Node.js_Typescript_Connection_Rabbitmq_Ionic2 - Fatal编程技术网

Node.js TypeError:需要(…)。connect不是函数

Node.js TypeError:需要(…)。connect不是函数,node.js,typescript,connection,rabbitmq,ionic2,Node.js,Typescript,Connection,Rabbitmq,Ionic2,我目前正在尝试使用Ionic 2框架开发一个应用程序,并决定在我的应用程序中使用RabbitMQ引入消息传递。请随时检查代码以供进一步参考 首先,我使用npm install手动安装了库https://github.com/squaremo/amqp.node.git因为的发布版本是 之后,我通过typings install dt~amqplib--global--save为库添加了Typescript定义 我为我的应用程序创建了一个名为“库导入位置”的新页面 node version: v4

我目前正在尝试使用Ionic 2框架开发一个应用程序,并决定在我的应用程序中使用RabbitMQ引入消息传递。请随时检查代码以供进一步参考

  • 首先,我使用
    npm install手动安装了库https://github.com/squaremo/amqp.node.git
    因为的发布版本是

  • 之后,我通过
    typings install dt~amqplib--global--save
    为库添加了Typescript定义

  • 我为我的应用程序创建了一个名为“库导入位置”的新页面

    node version: v4.4.4
    npm version: 3.9.2
    ionic version (app): 2.0.0-beta.7
    amqplib version: 0.4.1
    
    。。。并用于连接到服务器

    import * as amqp from 'amqplib/callback_api';
    [...]
    
  • 当我尝试运行它时,问题就出现了(我使用运行Android的仿真器和本机设备来运行它)。如果我尝试按“设置连接”按钮,则会出现以下错误:


  • 错误链接到行
    sock=require('net')。connect(sockopts,onConnect)。库中的NodeJS模块有问题吗?或者是我在应用程序中的某个地方做了错误配置吗?提前谢谢。

    在爱奥尼亚应用程序中没有你的库可以使用的NodeJS服务器。

    对不起,你能更好地解释一下你的意思吗?你想使用节点库,但爱奥尼亚应用程序中没有节点。。。您必须单独运行节点,类似于以下内容:
    [...]
    setConnection() {
        amqp.connect(this.connectionUrl, (err: any, connection: amqp.Connection) => {
            this.connection = connection;
            this.connection.createChannel((err: any, channel: amqp.Channel) => {
                this.channel = channel;
                this.channel.assertExchange(this.exchange, 'topic', { durable: false });
            });
        });
    }
    [...]