abreits / amqp-ts

AmqpSimple, a RabbitMQ tested Amqp library written in and for Typescript
MIT License
131 stars 42 forks source link

Using amqp-ts for angular 8.0.0 throws error #50

Open ascoril opened 4 years ago

ascoril commented 4 years ago

When I enable amqp-ts in my angular 8.0.0 project, I am getting the following error.

ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/common.js Module not found: Error: Can't resolve 'crypto' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/common.js Module not found: Error: Can't resolve 'fs' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/transports/file.js Module not found: Error: Can't resolve 'fs' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston\transports' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/transports/http.js Module not found: Error: Can't resolve 'http' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston\transports' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/transports/http.js Module not found: Error: Can't resolve 'https' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston\transports' ERROR in ./node_modules/amqp-ts/lib/amqp-ts.js Module not found: Error: Can't resolve 'os' in 'D:\backup_projects\angular\node_modules\amqp-ts\lib' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/exception.js Module not found: Error: Can't resolve 'os' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/transports/console.js Module not found: Error: Can't resolve 'os' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston\transports' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/transports/file.js Module not found: Error: Can't resolve 'os' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston\transports' ERROR in ./node_modules/amqp-ts/lib/amqp-ts.js Module not found: Error: Can't resolve 'path' in 'D:\backup_projects\angular\node_modules\amqp-ts\lib' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/transports/file.js Module not found: Error: Can't resolve 'path' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston\transports' ERROR in ./node_modules/amqp-ts/node_modules/amqplib/lib/connection.js Module not found: Error: Can't resolve 'stream' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\amqplib\lib' ERROR in ./node_modules/amqp-ts/node_modules/readable-stream/lib/_stream_writable.js Module not found: Error: Can't resolve 'stream' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\readable-stream\lib' ERROR in ./node_modules/amqp-ts/node_modules/readable-stream/lib/_stream_readable.js Module not found: Error: Can't resolve 'stream' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\readable-stream\lib' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/logger.js Module not found: Error: Can't resolve 'stream' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/common.js Module not found: Error: Can't resolve 'stream' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/transports/http.js Module not found: Error: Can't resolve 'stream' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston\transports' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/transports/file.js Module not found: Error: Can't resolve 'stream' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston\transports' ERROR in ./node_modules/isstream/isstream.js Module not found: Error: Can't resolve 'stream' in 'D:\backup_projects\angular\node_modules\isstream' ERROR in ./node_modules/amqp-ts/node_modules/amqplib/lib/connect.js Module not found: Error: Can't resolve 'tls' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\amqplib\lib' ERROR in ./node_modules/amqp-ts/node_modules/winston/lib/winston/transports/file.js Module not found: Error: Can't resolve 'zlib' in 'D:\backup_projects\angular\node_modules\amqp-ts\node_modules\winston\lib\winston\transports'

austin-beer commented 4 years ago

amqp-ts is designed to run on a server in Node.js and connect to RabbitMQ. Angular projects are designed to run in a browser. You're getting these errors because you're trying to use amqp-ts within an Angular project instead of within a Node.js project.

ascoril commented 4 years ago

Any suggestion for subscribing to a rabbitMQ queue in angular

austin-beer commented 4 years ago

So you want to talk to RabbitMQ from a single-page application that's running in a browser?

ascoril commented 4 years ago

Yes, I want to make use of the push mechanism of the AMQP protocol without any pull happening. I know, we can pull the content using the RabbitMQ rest apis available or even use some sort of stomp mechanism. But what i am interested is more of using the AMQP push.

austin-beer commented 4 years ago

Then I think you need to set up a server-side Node.js application. Your browser-based Angular application can talk to the Node.js application, and the Node.js application running on your server can talk to RabbitMQ. It's up to you how you want to set up the communication between your browser-based Angular application and the Node.js application. HTTP long-polling and WebSockets are two popular methods of pushing data from a server to a browser-based client.