ng generate
基于某个原理图生成和/或修改文件。
Generates and/or modifies files based on a schematic.
ng generate <schematic> [options]
ng g <schematic> [options]
参数
参数 | 说明 | Value Type |
---|---|---|
<schematic> | 要生成的 schematic 或 collection:schematic The schematic or collection:schematic to generate. 该选项可以接受下列子命令之一: | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--defaults | 对有默认值的选项禁用交互式输入提示。 Disable interactive input prompts for options with a default. | boolean | |
--dry-run | 运行一遍并汇报其活动轨迹,但不真的写入任何结果。 Run through and reports activity without writing out results. 别名: -d | boolean | false |
--force | 强制覆盖现存文件。 Force overwriting of existing files. 别名: -f | boolean | false |
--help | 在控制台显示关于本命令的帮助信息。 Shows a help message for this command in the console. | true|false|json|JSON | false |
--interactive | 启用交互式输入提示。 Enable interactive input prompts. | boolean |
Schematic 命令
app-shell
ng generate app-shell [options]
ng g app-shell [options]
为应用的服务端版本生成外壳程序。
Generates an app shell for running a server-side version of an app.
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--app-dir | 应用程序目录的名称。 The name of the application directory. | string | app |
--app-id | 供 withServerTransition() 使用的应用 ID。 The app ID to use in withServerTransition(). | string | serverApp |
--client-project | 相关客户端应用的名称。 The name of the related client app. | string | |
--main | 主入口点文件的名称。 The name of the main entry-point file. | string | main.server.ts |
--root-module-class-name | 根模块类的名称。 The name of the root module class. | string | AppServerModule |
--root-module-file-name | 根模块文件的名称 The name of the root module file | string | app.server.module.ts |
--route | 用于生成应用外壳程序的路由路径。 Route path used to produce the app shell. | string | shell |
application
ng generate application <name> [options]
ng g application <name> [options]
在工作区的 "projects" 子文件夹中生成新的基本应用定义。
Generates a new basic app definition in the "projects" subfolder of the workspace.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 新应用的名称。 The name of the new app. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--inline-style | 在根 component.ts 文件中包含内联样式。内联只能包含 CSS 样式。默认值为 false,这意味着将在根 component.ts 文件中创建并引用外部样式文件。 Include styles inline in the root component.ts file. Only CSS styles can be included inline. Default is false, meaning that an external styles file is created and referenced in the root component.ts file. 别名: -s | boolean | |
--inline-template | 在根 component.ts 文件中包含内联模板。默认值为 false,这意味着在根 component.ts 文件中创建并引用了一个外部模板文件。 Include template inline in the root component.ts file. Default is false, meaning that an external template file is created and referenced in the root component.ts file. 别名: -t | boolean | |
--legacy-browsers | 使用差异加载添加对 Internet Explorer 等旧版浏览器的支持。 Add support for legacy browsers like Internet Explorer using differential loading. | boolean | false |
--lint-fix | 已弃用: 改为直接用 "ng lint --fix"。 Use "ng lint --fix" directly instead. 生成此应用程序后,应用 lint 修复程序。 Apply lint fixes after generating the application. | boolean | |
--minimal | 创建一个没有任何测试框架的极简项目。(仅用于学习目的。) Create a bare-bones project without any testing frameworks. (Use for learning purposes only.) | boolean | false |
--prefix | 用于生成选择器的前缀。 A prefix to apply to generated selectors. 别名: -p | string | app |
--routing | 创建一个路由 NgModule。 Create a routing NgModule. | boolean | false |
--skip-install | 跳过安装依赖包。 Skip installing dependency packages. | boolean | false |
--skip-package-json | 不要将依赖项添加到 “package.json” 文件中。 Do not add dependencies to the "package.json" file. | boolean | false |
--skip-tests | 不要为应用程序创建 “spec.ts” 测试文件。 Do not create "spec.ts" test files for the application. 别名: -S | boolean | false |
--strict | 创建具有更严格的捆绑包预算设置的应用程序。 Creates an application with stricter bundle budgets settings. | boolean | false |
--style | 用于样式文件的扩展名/预处理器。 The file extension or preprocessor to use for style files. | css|scss|sass|less|styl | css |
--view-encapsulation | 在新应用中使用的视图封装策略。 The view encapsulation strategy to use in the new app. | Emulated|Native|None|ShadowDom |
class
ng generate class <name> [options]
ng g class <name> [options]
在给定或默认项目中创建一个新的通用类定义。
Creates a new generic class definition in the given or default project.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 新类的名称。 The name of the new class. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--lint-fix | 已弃用: 改为直接用 "ng lint --fix"。 Use "ng lint --fix" directly instead. 生成此类后,应用 lint 修复程序。 Apply lint fixes after generating the class. | boolean | false |
--project | 项目的名称。 The name of the project. | string | |
--skip-tests | 不要为新类创建 “spec.ts” 测试文件。 Do not create "spec.ts" test files for the new class. | boolean | false |
--type | 将开发人员定义的类型添加到文件名中,格式为 “name.type.ts”。 Adds a developer-defined type to the filename, in the format "name.type.ts". | string |
|
component
ng generate component <name> [options]
ng g component <name> [options]
在给定或默认项目中创建新的通用组件定义。
Creates a new generic component definition in the given or default project.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 组件的名称。 The name of the component. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--change-detection | 在新组件中使用的变更检测策略。 The change detection strategy to use in the new component. 别名: -c | Default|OnPush | Default |
--display-block | 指定是否要在样式中包含 Specifies if the style will contain 别名: -b | boolean | false |
--entry-component | 已弃用: 从支持 Ivy 的 9.0.0 版开始,不再需要 entryComponents 了。 Since version 9.0.0 with Ivy, entryComponents is no longer necessary. 此新组件是声明模块中的入口组件。 The new component is the entry component of the declaring NgModule. | boolean | false |
--export | 将从声明模块中导出此组件。 The declaring NgModule exports this component. | boolean | false |
--flat | 在当前项目的顶层创建新文件。 Create the new files at the top level of the current project. | boolean | false |
--inline-style | 在 component.ts 文件中包含内联样式。只能内联 CSS 样式。默认情况下,将创建一个外部样式文件,并在 component.ts 文件中对其进行引用。 Include styles inline in the component.ts file. Only CSS styles can be included inline. By default, an external styles file is created and referenced in the component.ts file. 别名: -s | boolean | false |
--inline-template | 在 component.ts 文件中包含内联模板。默认情况下,将创建一个外部模板文件,并在 component.ts 文件中对其进行引用。 Include template inline in the component.ts file. By default, an external template file is created and referenced in the component.ts file. 别名: -t | boolean | false |
--lint-fix | 已弃用: 改为直接用 "ng lint --fix"。 Use "ng lint --fix" directly instead. 生成此组件后,应用 lint 修复程序。 Apply lint fixes after generating the component. | boolean | |
--module | 指定其声明模块。 The declaring NgModule. 别名: -m | string | |
--prefix | 用于生成组件选择器的前缀。 The prefix to apply to the generated component selector. 别名: -p | string | |
--project | 项目的名称。 The name of the project. | string | |
--selector | 用于此组件的 HTML 选择器。 The HTML selector to use for this component. | string | |
--skip-import | 不要将此组件导入所属的 NgModule 中。 Do not import this component into the owning NgModule. | boolean | false |
--skip-selector | 指定组件是否应具有选择器。 Specifies if the component should have a selector or not. | boolean | false |
--skip-tests | 不要为新组件创建 “spec.ts” 测试文件。 Do not create "spec.ts" test files for the new component. | boolean | false |
--style | 用于样式文件的扩展名/预处理器。 The file extension or preprocessor to use for style files. | css|scss|sass|less|styl | css |
--type | 将开发人员定义的类型添加到文件名中,格式为 “name.type.ts”。 Adds a developer-defined type to the filename, in the format "name.type.ts". | string | Component |
--view-encapsulation | 在新组件中使用的视图封装策略。 The view encapsulation strategy to use in the new component. 别名: -v | Emulated|Native|None|ShadowDom |
directive
ng generate directive <name> [options]
ng g directive <name> [options]
在给定或默认项目中创建一个新的通用指令定义。
Creates a new generic directive definition in the given or default project.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 新指令的名称。 The name of the new directive. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--export | 将从声明模块中导出此指令。 The declaring NgModule exports this directive. | boolean | false |
--flat | 如果为 true(默认值),则在当前项目的顶层创建新文件。 When true (the default), creates the new files at the top level of the current project. | boolean | true |
--lint-fix | 已弃用: 改为直接用 "ng lint --fix"。 Use "ng lint --fix" directly instead. 生成此指令后,应用 lint 修复程序。 Apply lint fixes after generating the directive. | boolean | |
--module | 指定其声明模块。 The declaring NgModule. 别名: -m | string | |
--prefix | 用于生成选择器的前缀。 A prefix to apply to generated selectors. 别名: -p | string | |
--project | 项目的名称。 The name of the project. | string | |
--selector | 用于此指令的 HTML 选择器。 The HTML selector to use for this directive. | string | |
--skip-import | 不要将此指令导入到所属的 NgModule 中。 Do not import this directive into the owning NgModule. | boolean | false |
--skip-tests | 不要为新类创建 “spec.ts” 测试文件。 Do not create "spec.ts" test files for the new class. | boolean | false |
enum
ng generate enum <name> [options]
ng g enum <name> [options]
为给定或默认项目生成新的通用枚举定义。
Generates a new, generic enum definition for the given or default project.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 枚举的名称。 The name of the enum. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--lint-fix | 已弃用: 改为直接用 "ng lint --fix"。 Use "ng lint --fix" directly instead. 生成此枚举后,应用 lint 修复程序。 Apply lint fixes after generating the enum. | boolean | |
--project | 要在其中创建枚举的项目的名称。默认是工作区已配置的默认项目。 The name of the project in which to create the enum. Default is the configured default project for the workspace. | string |
guard
ng generate guard <name> [options]
ng g guard <name> [options]
在给定或默认项目中生成新的通用路由守卫定义。
Generates a new, generic route guard definition in the given or default project.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 新路由守卫的名称。 The name of the new route guard. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--flat | 如果为 true(默认值),则在当前项目的顶层创建新文件。 When true (the default), creates the new files at the top level of the current project. | boolean | true |
--implements | 指定要实现的接口。 Specifies which interfaces to implement. | array | |
--lint-fix | 已弃用: 改为直接用 "ng lint --fix"。 Use "ng lint --fix" directly instead. 生成此守卫后,应用 lint 修补程序。 Apply lint fixes after generating the guard. | boolean | |
--project | 项目的名称。 The name of the project. | string | |
--skip-tests | 不要为新守卫创建 “spec.ts” 测试文件。 Do not create "spec.ts" test files for the new guard. | boolean | false |
interceptor
ng generate interceptor <name> [options]
ng g interceptor <name> [options]
在给定或默认项目中创建一个新的通用拦截器定义。
Creates a new, generic interceptor definition in the given or default project.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 拦截器的名称。 The name of the interceptor. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--flat | 如果为 true(默认值),则在项目的顶层创建文件。 When true (the default), creates files at the top level of the project. | boolean | true |
--lint-fix | 已弃用: 改为直接用 "ng lint --fix"。 Use "ng lint --fix" directly instead. 生成此拦截器后,应用 lint 修复程序。 Apply lint fixes after generating the interceptor. | boolean | |
--project | 项目的名称。 The name of the project. | string | |
--skip-tests | 不要为新的拦截器创建 “spec.ts” 测试文件。 Do not create "spec.ts" test files for the new interceptor. | boolean | false |
interface
ng generate interface <name> <type> [options]
ng g interface <name> <type> [options]
在给定或默认项目中创建一个新的通用接口定义。
Creates a new generic interface definition in the given or default project.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 接口名称。 The name of the interface. | string |
<type> | 将开发人员定义的类型添加到文件名中,格式为 “name.type.ts”。 Adds a developer-defined type to the filename, in the format "name.type.ts". | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--lint-fix | 已弃用: 改为直接用 "ng lint --fix"。 Use "ng lint --fix" directly instead. 生成此接口后,应用 lint 修复程序。 Apply lint fixes after generating the interface. | boolean | |
--prefix | 用于生成选择器的前缀。 A prefix to apply to generated selectors. | string |
|
--project | 项目的名称。 The name of the project. | string |
library
ng generate library <name> [options]
ng g library <name> [options]
在当前工作空间中创建一个新的通用库项目。
Creates a new generic library project in the current workspace.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 库的名称。 The name of the library. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--entry-file | 要创建的库公共 API 文件的路径。是相对于工作区根目录的。 The path at which to create the library's public API file, relative to the workspace root. | string | public-api |
--lint-fix | 已弃用: 改为直接用 "ng lint --fix"。 Use "ng lint --fix" directly instead. 生成此库后,应用 lint 修复程序。 Apply lint fixes after generating the library. | boolean | |
--prefix | 用于生成选择器的前缀。 A prefix to apply to generated selectors. 别名: -p | string | lib |
--skip-install | 不要安装依赖包。 Do not install dependency packages. | boolean | false |
--skip-package-json | 不要将依赖项添加到 “package.json” 文件中。 Do not add dependencies to the "package.json" file. | boolean | false |
--skip-ts-config | 不要更新 “tsconfig.json” 来为新库添加路径映射。在应用中使用该库需要做路径映射,但是可以在此处将其禁用以简化开发。 Do not update "tsconfig.json" to add a path mapping for the new library. The path mapping is needed to use the library in an app, but can be disabled here to simplify development. | boolean | false |
module
ng generate module <name> [options]
ng g module <name> [options]
在给定或默认项目中创建一个新的通用 NgModule 定义。
Creates a new generic NgModule definition in the given or default project.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | NgModule 的名称。 The name of the NgModule. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--flat | 在当前项目根目录的顶层创建新文件。 Create the new files at the top level of the current project root. | boolean | false |
--lint-fix | 已弃用: 改为直接用 "ng lint --fix"。 Use "ng lint --fix" directly instead. 生成此模块后,应用 lint 修复程序。 Apply lint fixes after generating the module. | boolean | |
--module | 指定其声明模块。 The declaring NgModule. 别名: -m | string | |
--project | 项目的名称。 The name of the project. | string | |
--route | 惰性加载模块的路由路径。提供后,将在新模块中创建一个组件,并将其路由添加到由 The route path for a lazy-loaded module. When supplied, creates a component in the new module, and adds the route to that component in the | string | |
--routing | 创建一个路由模块。 Create a routing module. | boolean | false |
--routing-scope | 新路由模块的范围。 The scope for the new routing module. | Child|Root | Child |
pipe
ng generate pipe <name> [options]
ng g pipe <name> [options]
在给定或默认项目中创建一个新的通用管道定义。
Creates a new generic pipe definition in the given or default project.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 管道的名称。 The name of the pipe. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--export | 将从声明模块中导出此管道。 The declaring NgModule exports this pipe. | boolean | false |
--flat | 如果为 true(默认值),则在项目的顶层创建文件。 When true (the default) creates files at the top level of the project. | boolean | true |
--lint-fix | 已弃用: 改为直接用 "ng lint --fix"。 Use "ng lint --fix" directly instead. 生成此管道后,应用 lint 修补程序。 Apply lint fixes after generating the pipe. | boolean | false |
--module | 指定其声明模块。 The declaring NgModule. 别名: -m | string | |
--project | 项目的名称。 The name of the project. | string | |
--skip-import | 不要将此管道导入到所属的 NgModule 中。 Do not import this pipe into the owning NgModule. | boolean | false |
--skip-tests | 不要为新管道创建 “spec.ts” 测试文件。 Do not create "spec.ts" test files for the new pipe. | boolean | false |
resolver
ng generate resolver <name> [options]
ng g resolver <name> [options]
在给定或默认项目中生成新的通用解析程序定义。
Generates a new, generic resolver definition in the given or default project.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 新解析器的名称。 The name of the new resolver. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--flat | 如果为 true(默认值),则在当前项目的顶层创建新文件。 When true (the default), creates the new files at the top level of the current project. | boolean | true |
--project | 项目的名称。 The name of the project. | string | |
--skip-tests | 不要为新的解析器创建 “spec.ts” 测试文件。 Do not create "spec.ts" test files for the new resolver. | boolean | false |
service
ng generate service <name> [options]
ng g service <name> [options]
在给定或默认项目中创建新的通用服务定义。
Creates a new, generic service definition in the given or default project.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 服务的名称。 The name of the service. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--flat | 如果为 true(默认值),则在项目的顶层创建文件。 When true (the default), creates files at the top level of the project. | boolean | true |
--lint-fix | 已弃用: 改为直接用 "ng lint --fix"。 Use "ng lint --fix" directly instead. 生成此服务后,应用 lint 修复程序。 Apply lint fixes after generating the service. | boolean | |
--project | 项目的名称。 The name of the project. | string | |
--skip-tests | 不要为新服务创建 “spec.ts” 测试文件。 Do not create "spec.ts" test files for the new service. | boolean | false |
service-worker
ng generate service-worker [options]
ng g service-worker [options]
将此原理图传递给 “run” 命令以创建 Service Worker
Pass this schematic to the "run" command to create a service worker
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--configuration | 要应用 Service Worker 的配置。 The configuration to apply service worker to. | string | production |
--project | 项目的名称。 The name of the project. | string | |
--target | 要把 Service Worker 应用到的目标。 The target to apply service worker to. | string | build |
web-worker
ng generate web-worker <name> [options]
ng g web-worker <name> [options]
在给定或默认项目中创建一个新的通用 Web Worker 定义。
Creates a new generic web worker definition in the given or default project.
参数
参数 | 说明 | Value Type |
---|---|---|
<name> | 此 Web Worker 的名字。 The name of the worker. | string |
选项
选项 | 说明 | Value Type | Default Value |
---|---|---|---|
--project | 项目的名称。 The name of the project. | string | |
--snippet | 在同名的同级文件中添加一个创建 Web Worker 的片段。 Add a worker creation snippet in a sibling file of the same name. | boolean | true |
--target | 要应用 Web Worker 的目标。 The target to apply web worker to. | string | build |