Ошибка типа: require (…) .connect не является функцией

0
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 framework, и я решил ввести обмен сообщениями в своем приложении, используя RabbitMQ в этой библиотеке. Не стесняйтесь проверять код здесь для дальнейших ссылок.

  1. Прежде всего, я установил библиотеку вручную, используя npm install https://github.com/squaremo/amqp.node.git потому что версия выпуска из npm устарела.

  2. После этого я добавил определения typings install dt~amqplib --global --save для библиотеки с помощью typings install dt~amqplib --global --save.

  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). Если я попытаюсь нажать кнопку "Установить соединение", я получаю следующую ошибку:

Изображение 174551

Ошибка связана с строкой sock = require('net').connect(sockopts, onConnect); файла connect.js. Есть ли какие-либо проблемы с модулем NodeJS Net в библиотеке или это некорректная конфигурация, которую я сделал где-то в своем приложении?, спасибо заранее.

Теги:
connection
ionic2
rabbitmq

1 ответ

0
Лучший ответ

В ионном приложении нет узла nodeJS-сервера, который может использовать ваша библиотека.

  • 0
    Извините, не могли бы вы объяснить, что вы имеете в виду немного лучше?
  • 1
    вы хотите использовать библиотеку узлов, но в ionic нет узла ... вам придется запускать узел отдельно, что-то вроде этого: thejackalofjavascript.com/…

Ещё вопросы

Сообщество Overcoder
Наверх
Меню