阿里云:搭建基于Express的Serverless Web應用

來源: 阿里云
作者:阿里云
時間:2021-03-30
16950
目前有很多Web應用基于Express框架來編寫,這樣的Web應用按照傳統(tǒng)的部署方式將部署在云主機上,但您可能不想購買云主機,也不想在運維上投入太多成本,那么函數(shù)計算是一個不錯的選擇。本文介紹如何使用函數(shù)計算來搭建基于Express的Serverless Web應用。

目前有很多Web應用基于Express框架來編寫,這樣的Web應用按照傳統(tǒng)的部署方式將部署在云主機上,但您可能不想購買云主機,也不想在運維上投入太多成本,那么函數(shù)計算是一個不錯的選擇。本文介紹如何使用函數(shù)計算來搭建基于Express的Serverless Web應用。

背景信息

不管您的函數(shù)是通過HTTP還是API網(wǎng)關觸發(fā),您都可使用函數(shù)計算提供的模板,讓Express快速地在函數(shù)計算上運行起來。原生請求的Headers或者Body都會透傳給您的Express應用,您只需關注如何按照Express標準方式編寫業(yè)務代碼即可。此外,該模板還支持ES6代碼編譯成ES5,剪切打包壓縮成一個.js文件。

如需遷移您的Express應用,請參見遷移Express到函數(shù)計算。

操作步驟

1.安裝Node.js。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash         

nvm install 8            

2.安裝Funcraft工具。

npm install @alicloud/fun -g            

說明 Funcraft工具的某些子命令可能會用到Docker,所以您需要安裝好Docker,詳情請參見Funcraft安裝教程。

3.通過Funcraft模板生成項目。

fun init -n demo https://github.com/muxiangqiu/fc-Express-nodejs8.git            

說明 項目生成好后,在根目錄下有個README.md文件,閱讀該文件可以幫您快速了解項目骨架為您做了什么,以及相關的命令。詳情請參見README.md。

4.切換到項目根目錄。

cd demo           

說明 步驟5及以后的所有命令,都在項目根目錄下執(zhí)行。

5.安裝依賴。

npm install            

注意 有少數(shù)特殊npm模塊的安裝可能會依賴當前系統(tǒng)環(huán)境,為了能正確安裝函數(shù)運行時的系統(tǒng)環(huán)境的npm模塊,可以通過fun install命令來實現(xiàn),例如Puppeteer。詳情請參見為函數(shù)安裝第三方依賴。

6.編譯。

生產(chǎn)編譯

npm run build         

開發(fā)編譯。這種編譯方式不會進行代碼混淆,并且生成source map信息,方便開發(fā)調(diào)試。

npm run dev            

7.本地運行函數(shù)。

fun local start            

8.可選:運行調(diào)試函數(shù)。

運行調(diào)試之前,請先用npm run dev命令編譯源碼,然后以調(diào)試的方式運行函數(shù),命令如下:

fun local start -d 3000            

調(diào)試過程如下所示:

p171366.gif

9.部署函數(shù)到云端。

部署函數(shù)的時候需要用到AccessKey等信息,您可以通過fun config來配置,如果配置過請忽略,部署函數(shù)命令如下:

fun deploy            

立即登錄,閱讀全文
版權說明:
本文內(nèi)容來自于阿里云,本站不擁有所有權,不承擔相關法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家