[英]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.