【问题标题】:Angular library PROD build throws exceptionAngular 库 PROD 构建引发异常
【发布时间】:2020-08-30 23:06:37
【问题描述】:

我有一个 Angular 9 库,我想将其推送到注册表。

当我运行 ng build <my-lib> 时,它可以正确构建,但它抱怨 Ivy:

******************************************************************************
It is not recommended to publish Ivy libraries to NPM repositories.
Read more here: https://v9.angular.io/guide/ivy#maintaining-library-compatibility
******************************************************************************

因此无法推送:

错误:试图发布已由 Ivy 编译的包。这是不允许的。
请在尝试发布之前删除并重新构建包,不要使用 Ivy 进行编译。

当我运行ng build <my-lib> --prod 时,它会抛出一个关于[hidden] 的错误:

[错误] 错误:无法绑定到“隐藏”,因为它不是“ng-content”的已知属性。
1. 如果 'hidden' 是 Angular 指令,则在该组件的 '@NgModule.imports' 中添加 'CommonModule'。
2. 要允许任何属性添加“NO_ERRORS_SCHEMA”到该组件的“@NgModule.schemas”。 ("][隐藏] = "!active">")

我验证并且我的所有模块都导入CommonModule

为什么没有--prod 可以正常构建,但是当我想为--prod 构建它时它会报错?

【问题讨论】:

    标签: angular ng-packagr


    【解决方案1】:

    您正在尝试使用您的应用中不存在的指令 [hidden]。

    在您的模块中注册该指令或使用*ngIf[ngClass] 我认为这是您期望“隐藏”做的事情

    【讨论】:

      猜你喜欢
      • 2019-03-16
      • 2018-12-25
      • 1970-01-01
      • 2019-08-20
      • 2019-11-28
      • 1970-01-01
      • 2016-11-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多