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

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

问题描述:

我是一位经验丰富的PHP开发人员,也是NodeJs和Angular的新成员。过去3-4个月我一直在学习这些东西。现在我知道了Nodejs,Express,Angular4,Socket.io和meanstack的基础知识。在Meanstack上使用Angular4,Express和Mongo的相同应用程序或两个不同的应用程序前端/后端应用程序?

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

现在我要开始一个大项目,像门户网站。这将有“用户前端”和“后端管理员”

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

我在问什么其他开发人员在meanstack上创建这样一个大型项目时要做什么。他们使用相同的应用程序或两个不同的应用程序

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

所以有没有任何参考如何在同一角度cli应用程序中创建两个模板。

任何形式的帮助将不胜感激谢谢!

它很大程度上取决于您是否想要将后端应用程序抽象出来与其他前端应用程序一起使用,或者是否要创建一个集成块。

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

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

  2. 通过Express路由,我将为/admin定义/和 后端路由的前端路由。这些将有效击中两个独立的Angular应用程序 。

但是,如果您选择仅使用一个应用程序,那么Angular routing将是一个很好的开始。

+0

感谢您的回答@乔治。我也在想。为前端和后端创建两个不同的应用程序,并让他们通过使用express创建的API进行交谈。通过这种方式,如果需要,我可以在将来添加更多面板。 –

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] 
}) 

您可以创建两个不同的文件夹管理和前端或客户端。并为管理员和客户端分别进行路由。