【发布时间】:2018-08-14 19:41:05
【问题描述】:
最近我开始在 Nodejs 项目上工作,为此我们使用 Azure Functions。我对将应用程序部署到 Azure 感到好奇。
首先我尝试在部署过程中找到一个无服务器插件来安装依赖包。找不到简单的方法来做到这一点。
在谷歌搜索和阅读documentation 之后,我发现最佳做法是在构建步骤中安装软件包,并部署已经生成的 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,部署挂起并显示消息“上传功能:...”,未部署功能,也没有日志。
它挂了...我不确定确切的原因是什么,但是即使使用很少的包也不起作用,如果我添加更多的大包怎么办?
请问您如何解决此类问题,以及哪种方法最适合您构建和部署 Nodejs Azure Functions。谢谢!
【问题讨论】:
-
你试过 funcpack (github.com/Azure/azure-functions-pack) 吗?可能就是你要找的插件!
标签: javascript node.js azure deployment azure-functions