ng generate application <app-name>和ng new <app-new>之间的区别

时间:2018-10-12 11:25:42

标签: angular angular-cli-v6

我知道ng generate application <app-name>仅在有角度的应用程序文件夹中起作用的区别。但是还有其他区别吗?

3 个答案:

答案 0 :(得分:3)

ng new NAME使用默认应用程序创建新的工作区

ng g application NAME在现有工作区中创建新应用程序

官方文档没有详细解释这一点。因此,我建议您挖出一些博客文章,为它做介绍性文章。如以下内容:

Angular 6 Workspace

答案 1 :(得分:2)

ng init:在当前目录中创建一个新应用程序

ng新:创建一个新目录并在新目录中运行ng init。

ng生成:向现有应用程序添加功能,例如添加模块,                  组件和服务等。generate命令和不同的子                  命令也具有快捷方式符号,因此 ng g 命令是                  类似于 ng生成

答案 2 :(得分:0)

TL; DR:

  • ng new <app-name>创建一个新的工作空间,(默认情况下)在该工作空间中创建一个新的应用程序。
  • ng generate application <app-name>现有工作区中创建新的应用程序。

详细信息

如果您想了解更多内容,请参考多个资源。但这是一个很好的概述。

概述

工作区-由Angular CLI支持的Angular项目(即应用程序和库)的集合,这些项目通常位于单个源代码控制存储库(例如git)中。 来源:https://angular.io/guide/glossary#workspace

您可以在Angular工作区的上下文中开发应用程序。工作区包含一个或多个项目的文件。项目是由独立应用程序或可共享库组成的文件集。

Angular CLI ng new命令创建一个工作区。

ng new <my-project>

运行此命令时,CLI使用名为my-project的根级应用程序在新的工作空间中安装必要的Angular npm软件包和其他依赖项。工作区根文件夹包含各种支持和配置文件,以及一个自定义文件,其中包含可自定义的生成描述性文本。

默认情况下,ng new在工作空间的根级别创建一个初始框架应用程序,并进行端到端测试。该框架用于准备运行且易于修改的简单“欢迎”应用程序。根级应用程序与工作空间具有相同的名称,源文件位于工作空间的src/子文件夹中。

来源:https://angular.io/guide/file-structure#workspace-and-project-file-structure

在工作空间中生成其他应用程序或库时,它会进入projects/子文件夹中。

一个新生成的应用包含一个根模块的源文件,以及一个根组件和模板。每个应用程序都有一个src文件夹,其中包含逻辑,数据和资产。

来源:https://angular.io/cli#workspaces-and-project-files

示例

没有应用程序的工作区

使用--createApplication=false标志创建一个新项目,以便在工作空间内不创建任何应用程序(默认为true)。请注意,我们的工作区中没有projectssrc文件夹。

> ng new my-workspace --createApplication=false

Create a new workspace without an application using ng new

现在进入已创建的工作区文件夹并生成一个应用程序,您将看到我们的工作区中现在有一个projects/my-app文件夹。

> cd my-workspace
> ng generate app my-app

Create an application in the workspace using ng generate

您还可以再次使用ng generate在工作区中创建第二个应用程序,您将在我们的工作区中看到这两个应用程序。

>ng generate app my-other-app

Create another application in the workspace using ng generate

具有应用程序的工作区

对于较小的项目,另一种更常见的方法是使用ng new 使用createApplication标志(或将其设置为{ {1}})。在这里,您将获得一个包含true文件夹的工作区,其中包含我们的应用程序。

src

>ng new my-app

Workspace and application created with ng new