Node.js Considerations - AWS SDK for JavaScript

The AWS SDK for JavaScript version 3 (v3) is a rewrite of v2 with some great new features, including modular architecture. For more information, see the AWS SDK for JavaScript v3 Developer Guide.

Node.js Considerations

Although Node.js code is JavaScript, using the AWS SDK for JavaScript in Node.js can differ from using the SDK in browser scripts. Some API methods work in Node.js but not in browser scripts, as well as the other way around. And successfully using some APIs depends on your familiarity with common Node.js coding patterns, such as importing and using other Node.js modules like the File System (fs) module.

Using Built-In Node.js Modules

Node.js provides a collection of built-in modules you can use without installing them. To use these modules, create an object with the require method to specify the module name. For example, to include the built-in HTTP module, use the following.

var http = require('http');

Invoke methods of the module as if they are methods of that object. For example, here is code that reads an HTML file.

// include File System module var fs = require('fs'); // Invoke readFile method fs.readFile('index.html', function(err, data) { if (err) { throw err; } else { // Successful file read } });

For a complete list of all built-in modules that Node.js provides, see Node.js v6.11.1 Documentation on the Node.js website.

Using NPM Packages

In addition to the built-in modules, you can also include and incorporate third-party code from npm, the Node.js package manager. This is a repository of open source Node.js packages and a command-line interface for installing those packages. For more information about npm and a list of currently available packages, see You can also learn about additional Node.js packages you can use here on GitHub.

One example of an npm package you can use with the AWS SDK for JavaScript is browserify. For details, see Building the SDK as a Dependency with Browserify. Another example is webpack. For details, see Bundling Applications with Webpack.