【问题标题】:MEAN stack project structure doubtsMEAN堆栈项目结构疑问
【发布时间】:2021-05-02 04:44:14
【问题描述】:

我正在开发一个基于 MEAN 堆栈的应用程序,我对文件结构有一些疑问,我正在考虑三个选项:

  • 由 Apache 服务的前端(Angular)和 NodeJS 上的 REST API 按端口(80/443 和 8000)划分
  • Apache 服务的前端(Angular)和 NodeJS 上的 REST API 按子域(www 和 api)划分
  • 由 NodeJS 提供的前端(Angular)和 REST API 按路由(/page 和 /api)划分

我在网上搜索过,但一无所获

【问题讨论】:

    标签: node.js angular server mean-stack directory-structure


    【解决方案1】:

    我个人会选择列表中的最后一个选项:“由 NodeJS 提供的前端(Angular)和 REST API 除以路由(/page 和 /api)”。

    我最近在这里看到一个answer 说:

    当您为 node.js 应用程序提供服务时,请注意您是您自己的 Web 服务器的作者。您的应用程序中的任何潜在错误都是互联网上可直接利用的错误。有些人(有理由)对此感到不舒服。

    在您的 node.js 应用程序前面添加一个 Apache 或 Nginx 层意味着您在实时互联网上拥有一个经过实战考验、安全加固的软件,作为您的应用程序的接口。它增加了一点延迟(反向代理),但大多数人认为这是值得的。

    这曾经是 node.js 早期的标准建议。但是现在也有一些网站和 Web 服务将 node.js 直接暴露在互联网上。 http.Server 模块现在在 Internet 上经过了充分的实战测试,值得信赖。

    关于安全性,这告诉我你不应该在你的 Node 应用程序前面使用 Apache 或 Nginx 之类的东西。

    就文件结构的观点而言,我会选择此选项也只是因为我曾在许多地方工作过,他们已经完成了此操作,并且它使与 API 的交互变得简单、可预测且易于访问以及想要使用 API 的外部方(我是使用 api.mydomain.com 或 mydomain.com/api/ 的公司的忠实粉丝)。

    不过我猜这取决于偏好。

    【讨论】:

      猜你喜欢
      • 2015-11-16
      • 2018-01-29
      • 2014-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-07
      • 1970-01-01
      • 2014-08-07
      相关资源
      最近更新 更多