這份指南示範如何撰寫在 App Engine 標準環境中執行的 Node.js 網路服務。如要進一步瞭解 Node.js 執行階段及其運作方式,請參閱 Node.js 執行階段環境。
事前準備
重點
- 在
package.json
檔案中列出依附元件即可予以使用。詳情請參閱「指定依附元件」。 - App Engine 會執行
npm start
來啟動應用程式。 - 伺服器必須監聽
process.env.PORT
指定的通訊埠,也就是 App Engine 執行階段設定的環境變數。 - 您必須使用
app.yaml
檔案,才能將服務部署至 App Engine。
建立伺服器來監聽 HTTP 要求
HTTP 伺服器是網路服務的核心。本指南中的程式碼範例使用 Express.js 架構處理 HTTP 要求,但您可以自由使用您選擇的網路架構。
為 Node.js 服務建立名為
my-nodejs-service
的新資料夾。在終端機中前往該資料夾,然後執行
npm init
建立package.json
檔案。執行下列指令以將 Express 新增為依附元件:
npm install express
確認
package.json
檔案的dependencies
欄位中顯示 Express。範例如下:{ ... "dependencies": { "express": "^4.16.3" } ... }
在
package.json
檔案中新增start
指令碼:"scripts": { "start": "node server.js" }
在同一個資料夾中建立名為
server.js
的檔案,並加入下列程式碼:
這是非常基本的網路伺服器,會回應對根路徑 ('/'
) 的所有 GET
要求,並顯示文字「Hello from App Engine!」請注意最後四行,伺服器已設為監聽 process.env.PORT
指定的通訊埠,也就是 App Engine 執行階段設定的環境變數。如果伺服器並未設為聽取此通訊埠,就無法接收要求。
請注意,如果未設定 process.env.PORT
,系統會將通訊埠 8080
當做預設通訊埠來使用。這對於本機應用程式測試而言是必要配置,因為 process.env.PORT
在本機執行作業期間無法設定 ,只有在應用程式執行於 App Engine 時,您才能進行此設定。您可以選擇偏好的連接埠進行測試,但本指南使用 8080
。
在本機執行伺服器
如何在本機執行伺服器:
在終端機中執行
npm start
。這會執行server.js
檔案。將網路瀏覽器設為指向
http://localhost:8080
。
您應該會看到顯示「Hello from App Engine!」文字的頁面。
建立 app.yaml
檔案
app.yaml
檔案會指定 App Engine 服務的執行階段環境設定。缺少這個檔案將無法部署服務。
在
my-nodejs-service
資料夾中,建立名為app.yaml
的檔案。新增下列內容:
這是最基本的設定檔,用於向 App Engine 指定 Node.js 的執行階段版本。
app.yaml
檔案也可以指定網路設定或資源調度設定等等。詳情請參閱app.yaml
參考資料。
此時,您應該會有如下所示的檔案結構:
my-nodejs-service/
app.yaml
package.json
server.js
後續步驟
您現已建立監聽正確通訊埠的簡易 Node.js 網路伺服器,並在 app.yaml
檔案中指定執行階段,因此可以開始在 App Engine 中部署服務。
歡迎試用
如果您未曾使用過 Google Cloud,歡迎建立帳戶,親自體驗實際使用 App Engine 的成效。新客戶可以獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
免費試用 App Engine