使用Angular4,Express和Mongo在Meanstack上使用同一个应用程序还是两个不同的应用程序前端/后端应用程序?

问题描述 投票:0回答:2

我是一位经验丰富的PHP开发人员,并且是NodeJs和Angular的新手。 最近3-4个月以来,我一直在学习这些东西。 现在我知道Node.js,Express,Angular4,Socket.io和meanstack的基础知识。

我已经创建了演示应用程序,例如在nodejs中使用身份验证应用程序,使用节点和套接字进行简单聊天。 在我的学习阶段,在meanstack中进行简单的crud应用

现在,我将开始一个大型项目,例如门户。 其中将具有“用户前端”和“管理员后端”

现在的问题是1)我是否应该为托管在不同端口上的同一服务器上的后端和前端创建两个不同的应用程序(例如,前端在端口80上,后端在端口81上)并连接到同一数据库。 还是我应该在同一个应用程序上创建两者,并在像domain.com/admin这样的url上运行后端

我想知道其他开发人员在meanstack上创建如此大的项目时会做什么。 他们使用相同的应用程序还是两个不同的应用程序

2)我找不到任何方法可以在一个Angular CLI项目上为前端和后端创建两个不同的模板。 因为src/文件夹中只有一个index.html文件,我们可以在其中定义组件和模板结构。

那么有什么参考如何在同一角度cli应用程序中创建两个模板。

任何帮助将不胜感激,谢谢!

node.js angular-cli mean-stack
2个回答
2
投票

App.routing.module.ts

const appRoutes: Routes = [
  {
    path:'',
    loadChildren: './client/client.route.module#ClientRouteModule'
  },
  {
    path:'admin',
    loadChildren: './admin/admin.route.module#AdminRouteModule'
  }
];
@NgModule({
  declarations: [],
  imports: [RouterModule.forRoot(appRoutes)],
  providers: [],
  bootstrap: [],
  exports: [RouterModule]
})

您可以创建两个不同的文件夹admin和frontend或client。 并为管理员和客户端执行单独路由。


1
投票

这在很大程度上取决于您是否要抽象出后端应用程序以便与其他前端应用程序一起重用,还是要创建一个集成件。

我会选择以前的,更模块化的方法,并像这样实现它:

  1. 两个独立的应用程序。 这些都不会直接与数据库对话,但是它们将与您通过Express公开的端点进行交互。

  2. 通过快速路由,我会定义前端路线/和后端路线/admin 。 这些将有效地击中两个单独的Angular应用程序。

但是,如果您选择只使用一个应用程序,那么Angular路由将是一个不错的起点。

© www.soinside.com 2019 - 2024. All rights reserved.