AWS Cloud9 不再提供給新客戶。的現有客戶 AWS Cloud9 可繼續正常使用此服務。了解更多」
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
TypeScript教學課程AWS Cloud9
本教程向您展示如何使用TypeScript在一個AWS Cloud9開發環境。
遵循本教學課程並建立此範例可能會向您收取費用AWS帳戶。其中包括 Amazon EC2 和 Amazon S3 這類服務可能的費用。如需詳細資訊,請參閱 Amazon EC2 定價
主題
先決條件
在您使用此範例前,請務必確認您的設定符合下列要求:
-
您必須已有 AWS Cloud9 EC2 開發環境。本範例假設您已具備 EC2 環境,且該環境已連線到執行 Amazon Linux 或 Ubuntu Server 的 Amazon EC2 執行個體。如果您有不同類型的環境或作業系統,您可能需要依照此範例的說明來設定相關工具。如需詳細資訊,請參閱在中建立環境 AWS Cloud9。
-
您現有環境的 AWS Cloud9 IDE 已開啟。當您開啟環境時,AWS Cloud9 會在 Web 瀏覽器中開啟該環境的 IDE。如需詳細資訊,請參閱在 AWS Cloud9 中開啟環境。
步驟 1:安裝必要工具
在此步驟中,您將安裝TypeScript使用節點數据包管理員 npm
). 若要安裝 npm
,請使用節點套件管理工具 (nvm
)。如果沒有 nvm
,請先在此步驟中安裝它。
-
在終端工作階段中AWS Cloud9IDE 中,確認是否TypeScript已經通過運行命令行安裝TypeScript編譯器與
--version
選項。(若要啟動新終端機工作階段,請在選單列上,選擇 Window (視窗)、New Terminal (新增終端機)。如果成功,輸出會包含 TypeScript 版本編號。如果TypeScript已安裝,請跳至步驟 2:新增程式碼。tsc --version
-
以
--version
選項執行npm
,確認是否已安裝npm
。如果成功,輸出會包含npm
版本編號。如果npm
已安裝,請跳至此程序中的步驟 10 以使用npm
要安裝TypeScript。npm --version
-
執行
yum update
(適用於 Amazon Linux) 或apt update
(適用於 Ubuntu Server) 命令,協助確保已安裝最新安全性更新和錯誤修正。針對 Amazon Linux:
sudo yum -y update
針對 Ubuntu Server:
sudo apt update
-
若要安裝
npm
,通過運行以下命令開始下載節點版本管理器(nvm
) 。 (nvm
是一個簡單的 Bash 外殼腳本,對於安裝和管理 Node.js 版本很有用。 如需詳細資訊,請參閱節點版本管理員上的GitHub網站。) curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
-
若要開始使用
nvm
,請先關閉終端機工作階段並再次啟動,或是援引~/.bashrc
檔案,其中包含的命令將會載入nvm
。. ~/.bashrc
-
以
--version
選項執行nvm
,確認已安裝nvm
。nvm --version
-
通過運行來安裝最新版本 16 的 Node.js
nvm
。 (npm
已包含在 Node.js 中。)nvm install v16
-
執行 Node.js 命令列版本搭配
--version
選項,確認已安裝 Node.js。node --version
-
以
--version
選項執行npm
,確認已安裝npm
。npm --version
-
安裝TypeScript通過運行
npm
與-g
選項。這會安裝TypeScript作為環境中的全局包。npm install -g typescript
-
確認TypeScript通過運行命令行安裝TypeScript編譯器與
--version
選項。tsc --version
步驟 2:新增程式碼
-
在 AWS Cloud9 IDE 中,建立名為
hello.ts
的檔案。(若要建立檔案,請在選單列上選擇 File (檔案)、New File (新增檔案)。若要儲存檔案,請選擇 File (檔案)、Save (儲存)。) -
在 IDE 的終端機中,從與
hello.ts
檔案的相同目錄執行npm
以安裝@types/node
程式庫。npm install @types/node
這樣會在與
node_modules/@types/node
檔案相同的目錄中新增hello.ts
資料夾。這個新資料夾包含 Node.js 類型定義TypeScript稍後在此過程中需要console.log
和process.argv
您將新增至hello.ts
文件。 -
將下列程式碼加入到
hello.ts
檔案:console.log('Hello, World!'); console.log('The sum of 2 and 3 is 5.'); const sum: number = parseInt(process.argv[2], 10) + parseInt(process.argv[3], 10); console.log('The sum of ' + process.argv[2] + ' and ' + process.argv[3] + ' is ' + sum + '.');
步驟 3:執行程式碼
-
在終端中,從相同的目錄
hello.ts
檔案中,執行TypeScript編譯器。指定hello.ts
檔案和要包含的其他程式庫。tsc hello.ts --lib es6
TypeScript使用
hello.ts
文件和一組電子印刷稿 6(ES6)庫文件來轉換TypeScript在中的程式碼hello.ts
文件轉換為等效JavaScript名為的文件中的代碼hello.js
。 -
在 Environment (環境) 視窗中開啟
hello.js
檔案。 -
在選單列上,選擇 Run (執行)、Run Configurations (執行組態)、New Run Configuration (新增執行組態)。
-
在 [New] - Idle ([新增] - 閒置) 標籤上,選擇 Runner: Auto (執行器: 自動),然後選擇 Node.js。
-
在 Command (命令) 中輸入
hello.js 5 9
。在程式碼中,5
代表process.argv[2]
,而9
代表process.argv[3]
。(process.argv[0]
代表名稱執行時間 (node
),而process.argv[1]
代表檔案名稱 (hello.js
))。 -
選擇 Run (執行),然後比較您的輸出。完成後,選擇 Stop (停止)。
Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
注意
除了在 IDE 中建立新的執行組態,您也可以從終端機執行命令 node hello.js 5 9
來執行此程式碼。
步驟 4:安裝和配置AWS適用於的 SDKJavaScript在 Node.js 中
您可以增強此範例以使用AWS適用於的 SDKJavaScript在 Node.js 中創建一個 Amazon S3 存儲桶,列出可用的存儲桶,然後刪除剛創建的存儲桶。
在此步驟中,您將安裝並配置AWS適用於的 SDKJavaScript在 Node.js 中。SDK 提供了一種方便的互動方式AWS服務,如亞馬遜 S3,從您JavaScript代碼。安裝之後AWS適用於的 SDKJavaScript在 Node.js 中,您必須在環境中設定認證管理。SDK 需要這些登入資料,才能與 AWS 服務互動。
若要安裝AWS適用於的 SDKJavaScript在 Node.js 中
在終端工作階段中AWS Cloud9IDE,從相同的目錄hello.js
檔案來源步驟 3:執行程式碼,執行 npm
若要安裝AWS適用於的 SDKJavaScript在 Node.js 中。
npm install aws-sdk
此命令會新增數個資料夾到 步驟 3:執行程式碼 中的 node_modules
資料夾。這些資料夾包含的原始程式碼和相依性AWS適用於的 SDKJavaScript在 Node.js 中。如需詳細資訊,請參閱為下列項目安裝 SDKJavaScript在AWS SDK for JavaScript開發者指南。
在環境中設定憑證管理
每次使用AWS適用於的 SDKJavaScript在 Node.js 中調用一個AWS服務,您必須在呼叫中提供一組憑據。這些認證決定是否AWS適用於的 SDKJavaScript在 Node.js 中具有適當的權限來進行該調用。如果登入資料未涵蓋適當許可,呼叫即會失敗。
在此步驟中,您會在環境中存放您的憑證。若要這麼做,請遵循 從 AWS Cloud9 的環境呼叫 AWS 服務 中的指示,然後返回本主題。
如需詳細資訊,請參閱 AWS SDK for JavaScript 開發人員指南中的以 Node.js 設定憑證。
步驟 5:新增 AWS SDK 程式碼
在此步驟中,您會再新增其他程式碼,這次是要與 Amazon S3 互動,藉此建立儲存貯體、列出可用的儲存貯體,然後刪除您剛建立的儲存貯體。您稍後將執行此程式碼。
-
在 AWS Cloud9 IDE 中,前往與前述步驟的
hello.js
檔案相同的目錄,建立名為s3.ts
的檔案。 -
從中的終端AWS Cloud9IDE 位於相同的目錄
s3.ts
檔案中,啟用程式碼以非同步方式呼叫 Amazon S3 作業,方法是執行npm
兩次安裝異步庫TypeScript並再次為JavaScript。npm install @types/async # For TypeScript. npm install async # For JavaScript.
-
將下列程式碼加入到
s3.ts
檔案:import * as async from 'async'; import * as AWS from 'aws-sdk'; if (process.argv.length < 4) { console.log('Usage: node s3.js <the bucket name> <the AWS Region to use>\n' + 'Example: node s3.js my-test-bucket us-east-2'); process.exit(1); } const AWS = require('aws-sdk'); // To set the AWS credentials and AWS Region. const async = require('async'); // To call AWS operations asynchronously. const s3: AWS.S3 = new AWS.S3({apiVersion: '2006-03-01'}); const bucket_name: string = process.argv[2]; const region: string = process.argv[3]; AWS.config.update({ region: region }); const create_bucket_params: any = { Bucket: bucket_name, CreateBucketConfiguration: { LocationConstraint: region } }; const delete_bucket_params: any = { Bucket: bucket_name }; // List all of your available buckets in this AWS Region. function listMyBuckets(callback): void { s3.listBuckets(function(err, data) { if (err) { } else { console.log("My buckets now are:\n"); for (let i: number = 0; i < data.Buckets.length; i++) { console.log(data.Buckets[i].Name); } } callback(err); }); } // Create a bucket in this AWS Region. function createMyBucket(callback): void { console.log("\nCreating a bucket named '" + bucket_name + "'...\n"); s3.createBucket(create_bucket_params, function(err, data) { if (err) { console.log(err.code + ": " + err.message); } callback(err); }); } // Delete the bucket you just created. function deleteMyBucket(callback): void { console.log("\nDeleting the bucket named '" + bucket_name + "'...\n"); s3.deleteBucket(delete_bucket_params, function(err, data) { if (err) { console.log(err.code + ": " + err.message); } callback(err); }); } // Call the AWS operations in the following order. async.series([ listMyBuckets, createMyBucket, listMyBuckets, deleteMyBucket, listMyBuckets ]);
步驟 6:執行 AWS SDK 程式碼
-
在終端中,從相同的目錄
s3.ts
檔案中,執行TypeScript編譯器。指定s3.ts
檔案和要包含的其他程式庫。tsc s3.ts --lib es6
TypeScript使用
s3.ts
檔案,該AWS適用於的 SDKJavaScript在 Node.js 中,異步庫和一組電子印刷稿 6(ES6)庫文件來轉換TypeScript在中的程式碼s3.ts
文件轉換為等效JavaScript名為的文件中的代碼s3.js
。 -
在 Environment (環境) 視窗中開啟
s3.js
檔案。 -
在選單列上,選擇 Run (執行)、Run Configurations (執行組態)、New Run Configuration (新增執行組態)。
-
在 [New] - Idle ([新增] - 閒置) 標籤上,選擇 Runner: Auto (執行器: 自動),然後選擇 Node.js。
-
針對 Command (命令),輸入
s3.js YOUR_BUCKET_NAME THE_AWS_REGION
,其中YOUR_BUCKET_NAME
是您要建立然後刪除的儲存貯體名稱,而THE_AWS_REGION
是要在其中建立儲存貯體之 AWS 區域的 ID。例如,若為美國東部 (俄亥俄) 區域,則使用us-east-2
。其他區域的 ID 請參閱《》章節 Amazon Simple Storage Service (Amazon S3)Amazon Web Services 一般參考。注意
不只是在您的 AWS 帳戶中,Amazon S3 儲存貯體名稱在整個 AWS 中皆不可重複。
-
選擇 Run (執行),然後比較您的輸出。完成後,選擇 Stop (停止)。
My buckets now are: Creating a new bucket named 'my-test-bucket'... My buckets now are: my-test-bucket Deleting the bucket named 'my-test-bucket'... My buckets now are:
步驟 7:清除
為避免在您結束使用此範例後您的 AWS 帳戶持續產生費用,您應刪除該環境。如需說明,請參閱 刪除 AWS Cloud9 中的環境。