【问题标题】:Azure nodejs Api always returning The resource you are looking for has been removed, had its name changed, or is temporarily unavailableAzure nodejs Api 总是返回您要查找的资源已被删除、名称已更改或暂时不可用
【发布时间】:2021-02-19 06:15:18
【问题描述】:

我正在尝试在 Azure 服务中托管我的 Angular nodejs 应用程序,Angular 前端工作正常,但在尝试访问 api 时,我总是收到“您要查找的资源已被删除,名称已更改,或暂时不可用。”相同的代码在本地运行。

【问题讨论】:

  • 能否显示后端文件夹中的目录结构?
  • 如果我的解决方案对您有所启发或帮助,您能否将我的答案标记为accepted,谢谢~

标签: node.js azure api


【解决方案1】:

您可以使用package.json 中的以下代码来启动您的项目。

Solutions To Run Multiple Node.js or NPM Commands Simultaneously

"scripts": {
    "ng": "ng",
    "backend": "cd backend & npm run start",
    "frontend":"http-server dist/samplecode",
    "start": "start npm run frontend && start npm run backend",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
 },

测试结果。(Download test sample code

  1. 设置后端端口4200,前端端口8080。

    我们可以发现,两个项目都可以工作。

  2. 前端和后端端口使用相同的端口,8080。

    我们会发现后端项目没问题,前端有错误。

3。预期的行为与部署后的结果一致。

建议

  1. 前后端需要分离,有利于项目的可维护性和可扩展性。

  2. 在azure app service中,我们只能使用80和443端口,所以如果前后端口相同,两个项目的路由识别就会出现问题。这是您当前遇到的问题。

  3. 如果你目前只想使用一个应用服务资源,windows下的虚拟应用也帮不了你,因为部署了node项目,多个项目因为路由问题无法启动。

4.如果你有存储账号,可以将前端项目部署在静态网站中,后端项目部署在应用服务中。这消除了创建新服务的需要。

【讨论】:

    猜你喜欢
    • 2020-04-20
    • 1970-01-01
    • 2016-10-27
    • 2018-01-05
    • 2016-07-25
    • 2020-07-01
    • 2016-10-29
    • 1970-01-01
    • 2021-07-03
    相关资源
    最近更新 更多