默认情况下,在创建 Angular9(当前为 RC)库时,该库是在生产模式下禁用 Ivy 的情况下构建的。这是有道理的,因为(还)不支持发布为 Ivy 编译的库。
然而,就我而言,我有一个 monorepo 项目,我们使用库来组织我们的代码。这些库永远不会推送到 NPM,仅用于在多步骤构建过程中构建主应用程序。在禁用 Ivy 的情况下构建库意味着主应用程序构建首先必须遍历所有这些库并调用 NGCC 来生成代码的 Ivy 版本,这看起来非常低效而且很奇怪。
问题是:只为这些库的生产版本启用 Ivy 是不是一个坏主意?如果是这样,为什么?可能会出现哪些潜在问题?