Gianluca Ghettini
Gianluca Ghettini

Reputation: 11618

Amazon AWS IoT Core: sending an MQTT message via WebSocket from the browser

I'm building a webapp which should send and receive MQTT messages to and from IoT Core. I read that Amazon AWS IoT Core does support MQTT over WebSocket so I created a test "thing", created an IAM user and attached a policy with full access to the IoT functions (connect, subscribe, send etc..).

The documentation says that the AWS SDK for JavaScript can be used in a browser environment:

enter image description here

So I created my webpp and imported the library

var awsIot = require('aws-iot-device-sdk');

But I get some errors:

Can't resolve 'path

Can't resolve 'fs'

Can't resolve 'tls

After searching online it seems that these libraries are only supported by node.js and not the browser.

Upvotes: 0

Views: 308

Answers (1)

Panagiotis Giannelos
Panagiotis Giannelos

Reputation: 116

It has to do with the fact that webpack has removed polyfills in their new version. You have to add code below to your webpack.config.js fallback location and install them of course. Or you can switch into webpack v4.

module.exports = {
    ...
    resolve: {
        fallback: {
            "fs": false,
            "path":false,
            "tls":false
        },
    }
}

Upvotes: 1

Related Questions