久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Serverless中怎么使用typescript + nodejs進行開發

175次閱讀
沒有評論

共計 2844 個字符,預計需要花費 8 分鐘才能閱讀完成。

這篇文章主要講解了“Serverless 中怎么使用 typescript + nodejs 進行開發”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“Serverless 中怎么使用 typescript + nodejs 進行開發”吧!

前言

首先介紹下在本文出現的幾個比較重要的概念:

函數計算(Function Compute):函數計算是一個事件驅動的服務,通過函數計算,用戶無需管理服務器等運行情況,只需編寫代碼并上傳。函數計算準備計算資源,并以彈性伸縮的方式運行用戶代碼,而用戶只需根據實際代碼運行所消耗的資源進行付費。函數計算更多信息參考。
Aliyun Serverless VSCode Extension:是阿里云 Serverless 產品
函數計算 Function Compute 的 VSCode 插件,該插件結合了
函數計算 Funcraft:Funcraft 工具以及
函數計算 SDK,是一款 VSCode 圖形化開發調試函數計算以及操作函數計算資源的工具。
Funcraft:Funcraft 是一個用于支持 Serverless 應用部署的工具,能幫助您便捷地管理函數計算、API 網關、日志服務等資源。它通過一個資源配置文件(template.yml),協助您進行開發、構建、部署操作。Fun 的更多文檔參考。

目標

本文打算以一個簡單的 Serverless 函數計算項目為例,嘗試使用 typescript + nodejs 進行開發,搭建一個簡單的工程項目,實現如下小目標:

使用 typescript 編寫業務代碼

可以通過 Serverless VSCode 插件本地調試 typescript 代碼

通過插件將項目代碼部署到云端

項目示例圖

實踐

1. 前期準備 (可選)

在 VSCode 插件市場中搜索
Aliyun Serverless 插件并安裝。

根據
aliyun/fun 中的教程安裝并配置 Docker。

前期準備的目的是為了方便開發和調試,目前阿里云 Function Compute 提供了命令行工具 Funcraft 以及圖形化 VSCode 插件。安裝 Docker 是為了在本地模擬線上環境進行調試,如果想快速瀏覽下 nodejs + typescript 工程項目的搭建,可以跳過。

2. 環境搭建

配置 tsconfig.json

執行
tsc –init,將會在項目根目錄生成
tsconfig.json

配置
tsconfig.json 內容為:

{    compilerOptions : {       target : es5 ,       module : commonjs ,       noImplicitAny : true,       outDir : ./dist/ ,       sourceMap : true    },     include : [      ./src    ]   }

配置 package.json

執行
npm init,將會在項目根目錄生成
package.json

配置
package.json 內容為:

{    name : fc-ts ,     version : 1.0.0 ,     description : Function Compute + Typescript ,     main : index.js ,     scripts : {       compile : tsc -p ./    }   }

編寫業務代碼

新建 src/index.ts 文件,編寫內容如下:

export const handler = (    event: any,     context: any,     callback: (err: any, data: any) = void,   ) = {    console.log(new String(event));     callback(null, hello world  }

將 ts 代碼編譯為 js 代碼

在 Terminal 中輸入
npm run compile

完成后在項目根目錄會有
dist 文件夾以及
dist/index.js、dist/index.js.map 文件

至此,我們搭建了一個常規的 typescript 項目,有
tsconfig.json、package.json、src 源碼目錄、dist 結果目錄。其中,src/index.ts 文件中定義了一個 handler 方法,該方法符合函數計算中函數入口方法的定義。

3. 結合函數計算

在項目根目錄新建
index.js 文件,文件內容如下:
const {handler} = require(./dist/index  module.exports.handler = (event, context, callback) = {  handler(event, context, callback); }
這里又定義了一個 handler 方法,該方法中調用了編譯后 js 文件中的 handler 方法。

在項目根目錄新建
template.yml 文件,文件內容如下:
ROSTemplateFormatVersion: 2015-09-01 Transform: Aliyun::Serverless-2018-04-03 Resources:   demo: # service name     Type: Aliyun::Serverless::Service     Properties:       Description: This is FC service     func01: # function name       Type: Aliyun::Serverless::Function       Properties:         Handler: index.handler         Runtime: nodejs8         CodeUri: ./         MemorySize: 1024         Timeout: 15
該文件中對我們的資源(即函數計算中的服務以及函數)進行了定義,具體內容可以參考:
Fun 規范文檔。
如果安裝了 Serverless VSCode 插件,那么可以嘗試下插件的智能提示,效果如圖:

至此,我們就成功的將 typescript 項目結合到了函數計算中。我們的做法是:將 typescript 源碼文件放置在 src 目錄,將編譯后的 js 文件放置在 dist 目錄,最后在項目根目錄中編寫了 index.js 文件,文件中的 handler 處理函數調用了編譯后 index 文件的入口函數。

4. 本地調試與部署

本地調試


index.js 以及
src/index.ts 文件中插入一些斷點。

點擊 VSCode 左側欄目中的函數計算圖標,展開本地資源樹

點擊函數名右側的調試按鈕,即可調試 ts 源代碼。

部署函數

點擊 VSCode 左側欄目中的函數計算圖標

右鍵本地資源樹中的函數名,點擊部署按鈕

遠端調用函數

點擊遠端資源樹中函數名右側的調用按鈕

感謝各位的閱讀,以上就是“Serverless 中怎么使用 typescript + nodejs 進行開發”的內容了,經過本文的學習后,相信大家對 Serverless 中怎么使用 typescript + nodejs 進行開發這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-26發表,共計2844字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 芒康县| 轮台县| 静安区| 镇平县| 永康市| 乃东县| 商城县| 旺苍县| 清流县| 富锦市| 玉门市| 秭归县| 虹口区| 汶上县| 左云县| 海丰县| 通州区| 秭归县| 轮台县| 莆田市| 惠水县| 阿坝| 信丰县| 米易县| 临夏市| 兴海县| 临潭县| 安西县| 丹寨县| 临桂县| 康定县| 廉江市| 永定县| 徐汇区| 梁河县| 大渡口区| 桑植县| 乌兰察布市| 丰城市| 安西县| 台州市|