【问题标题】:Angular Library Module generate a component from workspaceAngular 库模块从工作区生成组件
【发布时间】:2019-05-29 07:14:57
【问题描述】:

我有一个由三个项目创建的 Angular 工作区。以及我刚刚创建了一个库,我希望在其中包含可重用的模块。

通常对于项目(应用程序和库),我运行以下命令来生成模块或组件:

ng g c component componentName --project=UserPortal

ng g c component componentName --project=myLibrary

但是现在我需要在其中的模块中添加组件:

例如图书馆: 项目 我的图书馆 源代码 库 导航模块 在此处添加组件

对于应用项目模块: 项目 用户门户 源代码 应用程序 用户模块 在此处添加组件

通过运行,我能够在工作区的库项目中创建一个模块:

ng generate module navigation-module --project=myLibrary

目前我必须通过命令行进入该目录才能创建一个组件。但我有一种感觉,我可以像所有其他命令一样从 Workspace 执行此操作。这将是最有益的,而不是必须使用命令行或在目录之间来回切换。

快速概览:

  1. 在 Angular 工作区中创建一个库
  2. 在 Angular 工作区的库中创建了一个模块
  3. 想要在工作区的库中的模块内创建组件

【问题讨论】:

    标签: angular module angular-components angular-module angular-library


    【解决方案1】:

    您可以通过提供正确的路径来为功能模块创建组件。你的情况

    ng g c navigation-module/test-component --project=myLibrary
    

    应该可以解决问题。

    【讨论】:

    • 如何让组件包含在模块声明中?
    • @ciekawy:模块声明应该自动更新。在navigation-module.module.ts 文件中的示例中,TestComponentComponent 将被添加到声明数组中。
    • 谢谢!我也发现了。我认为有更新模块文件选项的功能请求 - 毕竟所有原理图应该让开发人员的生活更轻松;)
    【解决方案2】:

    您可以将自定义目录路径与ng 命令一起传递。

    ng g c myfolder\mycomponent

    但是您可能会错过拼写路径,并创建新文件夹或更改目标目录。出于这个原因,dryRun 非常有帮助。它显示更改将如何受到影响的输出。

    验证结果后,您可以在不使用-d 的情况下运行相同的命令来进行更改。

    --dryRun=true|false

    如果为 true,则运行并报告活动而不写出结果。

    默认值:假

    别名:-d

    官方文档:-https://angular.io/cli/generate

    【讨论】:

      猜你喜欢
      • 2019-01-04
      • 2019-05-29
      • 2017-01-23
      • 2019-11-26
      • 2022-06-12
      • 2018-07-13
      • 2017-02-25
      • 1970-01-01
      相关资源
      最近更新 更多