簡體   English   中英

將Node.js應用程序部署到Azure的最佳實踐

[英]Best practice for nodejs app deployment to Azure

最近,我開始從事Nodejs項目的工作,為此我們正在使用Azure Functions。 我對將應用程序部署到Azure感到好奇。

首先,我試圖找到一個無服務器插件來在部署過程中安裝依賴項包。 找不到簡單的方法可以做到這一點。

經過一番查閱和閱讀本文檔后,我發現最佳實踐是在構建步驟上安裝軟件包,並部署已經生成的node_modules。

將node_modules目錄部署為應用程序的一部分會增加部署的大小。 ...但是,它確實確保生產中使用的模塊版本與開發中使用的模塊版本相同。

因此,我嘗試遵循此方法,並部署具有依賴項的小型應用程序:

"dependencies": {
  "azure-function-express": "^1.3.0",
  "body-parser": "^1.18.2",
  "express": "^4.16.2",
  "cookie-parser": "^1.4.3",
  "cors": "^2.8.4"
}

要部署的Zip文件約為709 KB。 它部署成功。 但是當我再添加一個包(貓鼬)時

"dependencies": {
  "azure-function-express": "^1.3.0",
  "body-parser": "^1.18.2",
  "express": "^4.16.2",
  "cookie-parser": "^1.4.3",
  "cors": "^2.8.4",
  "mongoose": "^5.0.11"
}

zip的大小變為2.83 mb,部署掛起並顯示消息“ Uploading function:...”,功能未部署,並且沒有日志。

它掛起了...我不確定確切的原因是什么,但是即使只有很少的程序包也不起作用,如果我添加更多的大程序包怎么辦?

請問您如何解決此類問題以及哪種方法最適合您構建和部署Nodejs Azure Functions。 謝謝!

解決方案是使用webpack將許多軟件包捆綁到一個文件中。 然后可以輕松,快速地進行部署。 如果使用serverless框架,則有一個無服務器Webpack包可以完成此工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM