【问题标题】:Multiple application under single project in Angular 6Angular 6中单个项目下的多个应用程序
【发布时间】:2018-12-09 10:30:43
【问题描述】:

如何在 Angular 6 的单个项目下创建多个应用程序?在新的 angular.json 文件中,没有 "app":[] 数组,之前我们使用手动创建/添加多个应用程序。我在这个阶段也没有找到合适的文档,详细说明如何在单个项目中创建多个应用程序。任何帮助,将不胜感激。谢谢。

【问题讨论】:

  • 但是有一个项目数组。还有这个命令:github.com/angular/angular-cli/wiki/generate-application
  • 嘿,你解决了吗?你有一个示例项目我可以看看
  • @Kay 请检查 martzcodes 的答案,我在我的项目中遵循了这些步骤。正如我们之前提到的,项目结构仍然不合格,但这是 Angular 团队目前提供的。

标签: angular angular-cli angular6


【解决方案1】:

就像@JB Nizet 说的......你可以使用generate application (https://github.com/angular/angular-cli/wiki/generate-application)

ng generate application <application-name>

在项目文件夹中生成一个应用程序,然后使用它提供服务

ng serve --project <application-name>

同样,您可以使用ng generate library (https://github.com/angular/angular-cli/wiki/generate-library) 创建组件库

ng generate library <library-name>

对于项目之间使用的通用组件。除非您在执行ng new 时更改了项目根目录,否则两者都会安装到/projects 文件夹中。

【讨论】:

  • 感谢您的回复。实际上我使用ng generate application &lt;name&gt; 在我现有的项目中创建新应用程序,但现在我在项目结构中遇到了一些问题。当我创建我的项目时,它遵循这个结构;项目名称 -> 项目名称 -> src -> 应用程序,现在当我通过 ng generate 创建时,它会创建新的“项目”目录,并且里面有新的应用程序。所以我在“项目”文件夹中有一个应用程序,另一个在该文件夹之外,我认为这不是一个好的结构。我显然无法在项目文件夹中移动我的原始应用程序。有没有其他办法?
  • 很有趣...但前几天我在 github 上创建了这个确切的问题:github.com/angular/angular-cli/issues/11402stackoverflow.com/questions/51090592/…
【解决方案2】:

如果您的项目包含多个应用程序,请使用角度升级指南 (https://update.angular.io/) 说明来升级您的应用程序。执行升级时的步骤之一是运行

ng upgrade @angular/cli

(一旦你将@angular/cli 升级到 v6+)。这将使用您现有的 angular-cli.json 文件为多个应用程序生成新的 angular.json 文件。

Upgrade Angular CLI

手动编辑您的 angular.json 以将新应用程序添加到现有项目。正在编辑 Another Application 的 JSON 文件。

ng serve --project="second-app"

ng build --prod --project="second-app" // build prod app

【讨论】:

  • 现在不需要手动操作了,他们给了我们ng generate命令来创建新的应用程序。但在我看来,创建它的项目结构并不合适,也有点令人困惑。请阅读 @martzcodes 回复中的 cmets。
【解决方案3】:

为了让我的应用程序正常工作,我从 app.component.html 主文件中删除了除

之外的所有内容
<router-outlet></router-outlet>. 

然后我在我的 app-routing.module.ts 文件中添加了一条路由:

{path: '**', redirectTo: 'newApp'}

主 app.component 中没有任何内容,应用程序将自动重定向到您的“newApp”

【讨论】:

    【解决方案4】:

    使用--createApplication="false" 创建工作区

    ng new MultipleApps --createApplication="false"
    cd MultipleApps  
    

    使用ng generate application 添加尽可能多的应用

    ng generate application app1
    ng generate application app2
    

    要运行应用程序,请使用ng serve

    ng serve app1
    

    来源Angular multiple projects

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-25
      • 2019-02-18
      • 1970-01-01
      • 2018-12-22
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多