TypeError:require(...)。connect不是函数

时间:2016-05-30 08:21:00

标签: node.js typescript connection rabbitmq ionic2

node version: v4.4.4
npm version: 3.9.2
ionic version (app): 2.0.0-beta.7
amqplib version: 0.4.1

我目前正在尝试使用Ionic 2框架开发应用程序,我决定在this library内使用RabbitMQ在我的应用程序中引入消息。请随意检查代码here以获取进一步的参考。

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

  2. 之后,我通过typings install dt~amqplib --global --save添加了库的Typescript定义。

  3. 我为我的应用创建了一个名为 Page2 的新页面,其中导入了库...

    import * as amqp from 'amqplib/callback_api';
    [...]
    

    ...并且用于连接服务器...

    [...]
    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 });
            });
        });
    }
    [...]
    
  4. 当我尝试运行它时(我使用模拟器和运行Android的本机设备)完成了问题。如果我尝试按设置连接按钮,则会出现以下错误:

  5. image

    该错误与 connect.js 文件的行sock = require('net').connect(sockopts, onConnect);相关联。在库中有NodeJS Net 模块有什么问题,还是我在我的应用程序中的某个地方出现了错误配置?,提前感谢。

1 个答案:

答案 0 :(得分:0)

您的图书馆可以使用离子应用程序中没有nodeJS服务器。