如何重构使用 azure 静态 Web 应用程序部署的 azure 函数项目?

问题描述

我正在开发使用 azure 函数的 API,该 API 使用 https://github.com/Azure/static-web-apps-deploy 部署到 azure 静态 Web 应用程序。我想重组我的 api 端,以便将我的源文件与我的构建文件分开,但我的函数没有正确部署。

目前API端的目录结构如下:

/api/node_modules  
/api/dist  
/api/coverage  
/api/* (a mix of src and config json files)  

我正在尝试创建一个 /api/src 文件夹并将所有 azure 函数移动到其中,以便 api 文件夹现在只有:

/api/node_modules  
/api/dist  
/api/coverage  
/api/src  (contains azure functions)  
/api/*.json (config json files only - e.g. package.json,typedoc.json,.eslintrc.json,etc)  

一旦我添加了 src 文件夹,函数就不再正确部署。 Web 应用程序将 404 尝试查找路线。

这是我迄今为止尝试过的:

  • 使用 /src/MyFunction/index.js 更新 function.json scriptFile 以指向脚本
  • 更新 tsconfig 包含以包含 src 文件
  • 更新 github 操作以指向 api/src 而不仅仅是 api
  • 确保 host.json 文件在 src 目录中

可以在 https://github.com/sinedied/azure-swag 找到该概念的示例存储库。对于我的 repo,我有更多的 azure 函数,但它是相同的概念。我会尝试将引用函数移动到 src 文件夹中,然后部署这些函数。

感谢任何帮助!

编辑:在尝试复制问题后,我无法仅通过移动功能在 azure-swag 存储库上重现它。我相信这可能与我的回购在打字稿中的事实有关。我能够在以下存储库中重现该存储库: https://github.com/avenmia/test-deployment

azure 函数在被请求时当前为 503,但是当我添加一个 scriptFile 并将其指向该函数的 index.js 时,它为我的原始项目提供了 404。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)