【问题标题】:Does not have 'ɵmod' property errors没有“ɵmod”属性错误
【发布时间】:2021-08-18 06:56:30
【问题描述】:

我已经坚持了一天了。

在一个干净的 repo 上,在执行 pnpm 安装和 ng 服务之后,您最终会在控制台中出现此错误

...没有 'ɵmod' 属性

任何模块都可能发生这种情况,下面的解决方法适用于任何模块。注意:如果您导入了模块以外的其他内容,也可能发生这种情况 - 在这种情况下,我的导入没有任何问题。

解决方法:

  1. 重新启动 ng serve 运行 ng build 两次
  2. 请参阅 ngx-leaflet-draw: Importing module which does not have a ɵmod property(但我无法让 ngcc 真正做任何事情 - 所以这对我不起作用 - 值得指出的是我的 repo 有多个项目)

虽然这些变通办法对于开发环境来说可能已经足够了,但在 CI 环境中,您实际上必须进行两次 ng 构建才能解决该问题(这是有代价的)。

目前我在 CI 构建中的解决方案是构建两次(告诉编译器很可怕,如果您第一次没有正确,请再试一次......)

您如何找到此问题的根本原因? (所以我可以在我的 CI 构建中有一个 ng 构建步骤)。

【问题讨论】:

  • 遗憾的是没有。这篇文章与我提到的“导入模块以外的东西”有关。在他们的情况下,需要进行代码修复。在我的情况下,不需要代码修复,我需要构建两次......
  • 顺便说一句,如果我进行生产构建(仅一次),我最终会出现“无法读取属性 'selectors' of null”错误。 (构建两次 = 没有错误)

标签: angular angular-cli


【解决方案1】:

我的问题是我使用 pnpm 作为包管理器。不幸的是,pnpm 似乎不能很好地与 ngcc 配合使用——pnpm 在 node_modules 文件夹中使用硬链接。我有 raised an issue 和 pnpm。

事实证明,pnpm 也可能导致以下问题(都可以通过运行 ng serve 或再次构建来解决):

  • TypeError: 无法读取 null 的属性“bindingStartIndex”
  • 构建过程中发生错误:错误:试图用 ngcc 备份文件覆盖 ... __ivy_ngcc_bak,这是不允许的

【讨论】:

    猜你喜欢
    • 2021-08-09
    • 2021-07-10
    • 2021-10-19
    • 2021-05-06
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-10
    相关资源
    最近更新 更多