【问题标题】:Angular 9 library: Dependency from main entrypoint to secondaryAngular 9 库:从主入口点到辅助入口点的依赖关系
【发布时间】:2020-07-20 20:40:15
【问题描述】:

我们有一个正在从 angular 8.2.x 升级到 9.0.6 的公司库,我已经为 prd 构建禁用了 ivy,所以这很好。

项目结构如下:

  • 项目
    • my-ui-lib
        • public_api.ts
        • 带有一些组件的文件夹,即使用实用程序的方法
      • 常见
          • public_api.ts
          • 带有实用程序的文件夹方法

构建 my-ui-lib 完全没有问题。 在项目中使用 my-ui-lib 会出现以下错误:

目标入口点“@my/ui”中的错误缺少依赖项: - @my/ui/common

这在 Angular 8.2.x 上没有发生。我在做什么/错误地迁移?

【问题讨论】:

  • 我遇到了同样的问题,除了在我的“my-ui-lib”项目 tsconfig.lib.prod.json 文件中启用 ivy 之外,找不到任何其他解决方案。这违背了 Angular 文档的建议,根据文档,ivy 现在应该在共享库中禁用。我正在寻找一个解决方案,因为这个原因,常春藤可以在图书馆项目中保持禁用状态。
  • 但这会导致我的库无法推送到我们公司的 npm 注册表:)。
  • 我现在在尝试发布到我们的 npm 提要时遇到了同样的问题,所以这毕竟不是一个可行的解决方法。

标签: angular angular-cli angular9 angular-library


【解决方案1】:

我有一个类似的案例,将一个具有多个依赖库的项目从最新的 Angular@8 升级到最新的 Angular@9。

我的问题是单独构建@my/ui/common(使用ng build @my/ui/common)会导致错误(尤其是对组件mat-menu 使用属性[overlapTrigger]="false"。修复该问题后,缺少依赖项的错误消失了。

我知道这可能与您的情况不同,但也许这对其他人有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-20
    • 2020-07-08
    • 2020-05-29
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    相关资源
    最近更新 更多