Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Problems using aws-sdk in the browser with browserify

I am working on browser based application that makes use of aws-sdk. I am using browserify for my app code but have not figured out how to roll aws into it. I have tried a couple of different approaches:

//MyApp.js - Take 1 using downloaded minified version
var AWS = require ('./aws-sdk.min.js');
...
AWS.config.region='us-east-2';
...

results in Cannot set property 'region' of undefined

My guess is that this doesn't work because browserify does not resolve the minified code.

//MyApp.js - Take 2 using downloaded development version
var AWS = require ('./aws-sdk.js');

This does not compile. Browserify reports Error: Cannot find module '../lib/core'.

Is there a trick to this that I am missing?

like image 596
Elsporko Avatar asked Jun 22 '26 23:06

Elsporko


1 Answers

When I used AWS in the browser I set my region depending on the service I need, for example:

new AWS.EC2({apiVersion: '2016-11-15', credentials, region})

So this made me wonder, maybe the version you downloaded is encapsulated and not exposing anything for browserify.

First I tested the version in the browser as follows:

console.log(AWS)
<script src="https://cdnjs.cloudflare.com/ajax/libs/aws-sdk/2.184.0/aws-sdk.min.js"></script>

Everything looked good so then I went ahead and tested on browserify.

Turns out you are reassigning the AWS global variable when you do:

var AWS = require ('./aws-sdk.min.js');

But you are already bundling it, so you are good, what you need to do is the following:

require ('./aws-sdk.min.js');
// And then use it happily
AWS.config.region='us-east-2';

Without reassigning the AWS global variable

like image 50
Claudiordgz Avatar answered Jun 28 '26 05:06

Claudiordgz



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!