Angular 我们能在同一端口下托管两个角度项目吗

Angular 我们能在同一端口下托管两个角度项目吗,angular,iis,hosting,iis-10,Angular,Iis,Hosting,Iis 10,我在angular2中开发了两个angular项目。一个是公共门户,另一个是管理员。如果我作为主机托管主门户,那么我需要在它下面托管管理员;即,url应为。这必须在IIS中测试我的答案主要是理论上的 创建一个包含admin项目的npm包(类似ng Packager的东西会有所帮助)。有一种格式可以公开您希望在此项目之外访问的所有模块。你可以在谷歌上找到这方面的详细信息。类似于index.ts等 将其作为依赖项包含在主项目的package.json中 尝试在MainProject内创建路由,并在路

我在angular2中开发了两个angular项目。一个是公共门户,另一个是管理员。如果我作为主机托管主门户,那么我需要在它下面托管管理员;即,url应为。这必须在IIS中测试

我的答案主要是理论上的

  • 创建一个包含
    admin
    项目的npm包(类似ng Packager的东西会有所帮助)。有一种格式可以公开您希望在此项目之外访问的所有模块。你可以在谷歌上找到这方面的详细信息。类似于
    index.ts
  • 将其作为依赖项包含在主项目的
    package.json
  • 尝试在
    MainProject
    内创建路由,并在路由中使用延迟加载以获得更好的性能。比如:
  • AdminWrapperModule

    
    @NgModule({
        imports: [
            CommonModule,
            AdminModule,
        ]
    })
    export class AdminWrapperModule{}
    
    以上代码仅供参考:D

    更新
    在我的项目中,我们有几个模块(准确地说是4个),类似于您案例中的
    admin
    ,我们意识到有4个项目进行构建非常耗时(每个项目的构建时间约为7分钟)。所以我们最终实现了。这个工具帮助我们把所有4个项目都放在我们的主项目下。这有助于减少时间,因为在实际部署代码之前,我们不再需要构建两个项目(一个是
    Admin
    ,另一个是
    MainProject
    )。如果你真的需要的话,看看吧。如果您需要更多的项目分离,那么不要选择
    Nrwl

    您只需在各自的目录中托管这两个项目(需要IIS配置),并使用
    base href
    选项构建/部署您的应用程序:

    ng build --prod --base-href=/admin // admin app
    ng build --prod // public app
    

    你听说过功能模块和authGuard这个词吗?没有,我是新来的。对于这个要求有解决方案吗?@TechDo可能是我错了。但是你不能只在根目录中托管main,在admin目录中托管admin项目吗?谢谢@Shashank Vivek,让我试试。@TechDo也检查一下我的更新。我已经在我的项目中使用了它,但请检查您是否真的需要进入那个方向。它的所有项目具体决策都是在Vivek,标有“正确答案”的方法对我有效(请参考)。所以,坦率地说,我没有花太多时间在你的方法上。是的@Cetia,它对我有效。我手动更改了index.html中的
    。您不应该这样做。ng serve将在/处于开发模式时提供服务,但将使用我给您的选项在/admin上生成一个构建。
    ng build --prod --base-href=/admin // admin app
    ng build --prod // public app