【问题标题】:MEAN Stack App - Splitting UI and backend code between 2 serversMEAN Stack App - 在 2 个服务器之间拆分 UI 和后端代码
【发布时间】:2017-01-20 12:47:47
【问题描述】:

对于基于 MEAN 堆栈的应用程序,我希望在一台服务器上运行 UI 代码并在另一台服务器上运行后端代码。有人知道任何以这种方式显示 MEAN 项目设置的 Github 项目吗?对于带有 UI 代码的服务器,它不应该有任何控制器、服务、DAO、MongoDB 配置“db.js”或运行 MongoDB 实例。第二台服务器上的后端代码将包含所有控制器、服务、DAO、Rest API、MongoDB 配置“db.js”,并且应该存在正在运行的 MongoDB 实例。

我希望能得到一些例子。网上和 Github 上有大量 MEAN 示例,但我还没有找到像我想要的那样在不同服务器之间拆分 MEAN 堆栈的示例。

【问题讨论】:

  • 有很多使用 Node + Express + Mongo 创建 REST API 的示例。那是您的后端服务器。服务器配置不是你经常在 Github 上看到的东西,但是如果你知道如何构建一个使用 API 的 Angular 应用程序(也有很多这样的例子),那么你就拥有了所有你需要的部分。只需使用您选择的 HTTP 服务器(我建议使用 Nginx)为您的静态 Web 客户端提供服务,并在 Express 中构建您的 REST API。如果其中的某个特定部分让您绊倒,请在此处发布一些代码,显示您尝试过的操作并描述问题。
  • 如果您可以使用 AWS,您可以将您的 Angular 网站作为静态网站托管在 S3 上,因此基本上亚马逊会为您管理 UI 服务器……您只需将您的 Web 资源复制到 S3。然后将 REST API 托管在您选择的服务器上(Node+Express/Hapi+Mongo)。您可能还需要考虑为 MongoDB 使用托管服务,例如 Atlas 或 mLab。

标签: angularjs node.js mongodb express mean


【解决方案1】:

以下是执行您实际想要的最简单和更好的方法: 您的系统中需要两个单独的目录:

  1. 前端 - 用于客户端(UI)
  2. 后端 - 用于服务器(用于数据库、路由器和控制器)

按照以下步骤仅设置前端项目:

一个。安装角夹

npm install -g angular-cli

b.制作项目

ng new my_frontend_app

c。进入项目目录并安装 NPM 模块

cd my_frontend_app
npm install

d。运行项目

ng serve

以下是制作Backend(express和jade引擎)项目的步骤: 一种。安装 Express 生成器

npm install -g express-generator

b.创建项目

express my_backend_app

d。进入项目目录

cd my_backend_app

e。运行项目

npm start

现在您可以在客户端(my_frontend_app)中设置环境变量指向服务器(my_backend_app)并单独部署。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-04
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 1970-01-01
    • 2011-04-26
    相关资源
    最近更新 更多