JavaScript ES6/CommonJS 语法 - AWS SDK for JavaScript

AWS SDK for JavaScript V3 API 参考指南详细描述了 AWS SDK for JavaScript 版本 3 (V3) 的所有API操作。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

JavaScript ES6/CommonJS 语法

AWS SDK for JavaScript 代码示例是使用 ECMAScript 6 (ES6) 编写的。ES6 带来了新的语法和新功能,使您的代码更现代、更具可读性,并能做到更多的事情。

要使用 ES6,您需要使用 Node.js 版本 13.x 或更高版本。要下载并安装最新版本的 Node.js,请参阅 Node.js 下载。但是,如果您愿意,可以使用以下指南将我们的任何示例转换为 CommonJS 语法:

  • 从您的项目环境中的 package.json 中移除 "type" : "module"

  • 将所有 ES6 import 语句转换为 CommonJS require 语句。例如,将以下内容:

    import { CreateBucketCommand } from "@aws-sdk/client-s3"; import { s3 } from "./libs/s3Client.js";

    转换为其 CommonJS 等效语句:

    const { CreateBucketCommand } = require("@aws-sdk/client-s3"); const { s3 } = require("./libs/s3Client.js");
  • 将所有 ES6 export 语句转换为 CommonJS module.exports 语句。例如,将以下内容:

    export {s3}

    转换为其 CommonJS 等效语句:

    module.exports = {s3}

以下示例演示了用于在 ES6 和 CommonJS 中创建 Amazon S3 存储桶的代码示例。

ES6

libs/s3Client.js

// Create service client module using ES6 syntax. import { S3Client } from "@aws-sdk/client-s3"; // Set the AWS region const REGION = "eu-west-1"; //e.g. "us-east-1" // Create Amazon S3 service object. const s3 = new S3Client({ region: REGION }); // Export 's3' constant. export {s3};

s3_createbucket.js

// Get service clients module and commands using ES6 syntax. import { CreateBucketCommand } from "@aws-sdk/client-s3"; import { s3 } from "./libs/s3Client.js"; // Get service clients module and commands using CommonJS syntax. // const { CreateBucketCommand } = require("@aws-sdk/client-s3"); // const { s3 } = require("./libs/s3Client.js"); // Set the bucket parameters const bucketParams = { Bucket: "BUCKET_NAME" }; // Create the Amazon S3 bucket. const run = async () => { try { const data = await s3.send(new CreateBucketCommand(bucketParams)); console.log("Success", data.Location); return data; } catch (err) { console.log("Error", err); } }; run();
CommonJS

libs/s3Client.js

// Create service client module using CommonJS syntax. const { S3Client } = require("@aws-sdk/client-s3"); // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create Amazon S3 service object. const s3 = new S3Client({ region: REGION }); // Export 's3' constant. module.exports ={s3};

s3_createbucket.js

// Get service clients module and commands using CommonJS syntax. const { CreateBucketCommand } = require("@aws-sdk/client-s3"); const { s3 } = require("./libs/s3Client.js"); // Set the bucket parameters const bucketParams = { Bucket: "BUCKET_NAME" }; // Create the Amazon S3 bucket. const run = async () => { try { const data = await s3.send(new CreateBucketCommand(bucketParams)); console.log("Success", data.Location); return data; } catch (err) { console.log("Error", err); } }; run();