建立適用於瀏覽器的軟體開發套件 - AWS SDK for JavaScript

我們宣布即將推出 end-of-support AWS SDK for JavaScript v2。建議您遷移至 AWS SDK for JavaScript v3。如需日期、其他詳細資訊和如何遷移的資訊,請參閱連結公告。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立適用於瀏覽器的軟體開發套件

的 SDK 會以 JavaScript JavaScript 檔案的形式提供,其中包含預設服務集的支援。此檔案通常會使用 <script> 標籤載入瀏覽器指令碼,參考託管的軟體開發套件套件。但是,您可能需要預設服務之外其他服務的支援,否則便需要自訂軟體開發套件。

如果您在瀏覽器中強制執行 CORS 的環境之外使用 SDK,並且想要存取 SDK 提供的所有服務 JavaScript,則可以透過複製存放庫並執行建置 SDK 預設託管版本的相同建置工具來在本機建置 SDK 的自訂副本。以下區段說明使用額外服務和 API 版本來建立軟體開發套件的步驟。

使用 SDK 產生器建置適用的 SDK JavaScript

創建自己的構建的最簡單方法 AWS SDK for JavaScript 是使用 SDK 構建器 Web 應用程序 https://sdk.amazonaws.com/builder/js。使用軟體開發套件建置器,來指定要包含在建置中的服務和其 API 版本。

選擇 Select all services (選取所有服務),或選擇 Select default services (選取預設服務) 做為您可以新增或移除服務的起點。選擇 Development (開發) 來取得可讀性更高的程式碼,或選擇 Minified (壓縮) 來建立要部署的壓縮建置。在您選擇要包含的服務和版本後,請選擇 Build (建置) 來建置及下載您的自訂軟體開發套件。

使用 CLI 建置適用於下列項目的開發套件 JavaScript

若要建置 JavaScript 使用的 SDK AWS CLI,您必須先複製包含 SDK 來源的 Git 儲存庫。您必須在電腦上安裝 Git 和 Node.js。

首先,從中克隆存儲庫 GitHub 並將目錄更改到目錄中:

git clone https://github.com/aws/aws-sdk-js.git cd aws-sdk-js

複製儲存庫後,下載同時適用於軟體開發套件和建置工具的相依性模組:

npm install

您就可以立即建立軟體開發套件的套件版本。

從命令列建立

建置器工具位於 dist-tools/browser-builder.js 中。輸入以下資訊來執行此指令碼:

node dist-tools/browser-builder.js > aws-sdk.js

此命令會建立 aws-sdk.js 檔案。此檔案未壓縮。依預設,此套件僅包含一套標準的服務。

壓縮建置輸出

為了減少網路上的資料量,可以透過稱為縮小的程序來壓縮 JavaScript 檔案。壓縮指令碼評論、不必要的空間和有助於人類讀取的其他特性,但不會影響程式碼執行。建置器工具可產生解壓縮或已壓縮的輸出。若要壓縮建置輸出,請設定 MINIFY 環境變數:

MINIFY=1 node dist-tools/browser-builder.js > aws-sdk.js

建立特定服務和 API 版本

您可以選取要在軟體開發套件中建立哪些服務。若要選取服務,請指定做為參數的服務名稱 (以逗號分隔)。例如,若要僅建置 Amazon S3 和 Amazon EC2,請使用以下命令:

node dist-tools/browser-builder.js s3,ec2 > aws-sdk-s3-ec2.js

您也可以透過在服務名稱後新增版本名稱,來選取服務建置的特定 API 版本。例如,若要建立兩個 API 版本的 Amazon DynamoDB,請使用下列命令:

node dist-tools/browser-builder.js dynamodb-2011-12-05,dynamodb-2012-08-10

服務標識符和 API 版本可以在服務特定的配置文件中找到:https://github.com/aws/ aws-sdk-js /樹/主/ api。

建置所有服務

您可以透過包含 all 參數來建立所有服務和 API 版本:

node dist-tools/browser-builder.js all > aws-sdk-full.js

建立特定服務

若要自訂在建置中包含的特定一組服務,請將 AWS_SERVICES 環境變數傳遞給 Browserify 命令,其中包含您需要的服務清單。下列範例會建置 Amazon EC2、Amazon S3 和 DynamoDB 服務。

$ AWS_SERVICES=ec2,s3,dynamodb browserify index.js > browser-app.js

使用 Browserify 來將軟體開發套件建立為相依性

Node.js 擁有以模型為基礎的機制,可用來包含來自第三方開發人員的程式碼和功能。在 Web 瀏覽器中 JavaScript 運行本身不支持這種模塊化方法。然而,您可以使用名為 Browserify 的工具,來使用 Node.js 模組方法和使用瀏覽器中為 Node.js 所寫的模組。Browserify 會將瀏覽器指令碼的模組相依性建置到可在瀏覽器中使用的單一、獨立 JavaScript 檔案。

您可以使用 Browserify 來建立做為任何瀏覽器指令碼程式庫相依性的軟體開發套件。例如,以下 Node.js 程式碼需要軟體開發套件:

var AWS = require('aws-sdk'); var s3 = new AWS.S3(); s3.listBuckets(function(err, data) { console.log(err, data); });

您可以使用 Browserify 來將此範例程式碼編譯為與瀏覽器相容的版本:

$ browserify index.js > browser-app.js

可透過 browser-app.js 在瀏覽器中取得應用程式 (包含其軟體開發套件相依性)。

如需 Browserify 的詳細資訊,請參閱 Browserify 網站