Nee*_*mar 13 javascript angular
如果以下问题对您来说很幼稚,请原谅:
我经历了由 angular 9 开发的多个项目,其中大多数在 package.json 中都有以下一行作为 posinstall 脚本。
"postinstall": "ngcc --properties es2015 es5 browser module main --first-only --create-ivy-entry-points"
我阅读了 angular 文档,并根据我的理解添加了“ngcc”来验证安装的软件包是否与 Ivy 兼容。
同样根据他们的建议,我们不应该使用“--create-ivy-entry-points”标志,因为这会导致 Node 无法正确解析包的 Ivy 版本。
问题:有人可以解释在安装后脚本中的 ngcc 之后添加其他标志和属性的原因,例如:“--properties es2015 es5 浏览器模块 main --first-only --create-ivy-entry-points”。
提前致谢!
小智 10
实际上,ngcc 的工作不是包验证。它采用非 Ivy 库并生成 Ivy 理解的文件。我相信 ngtsc 生成的 Ivy 指令(除了不向后兼容 ngc 生成的代码之外)还不稳定,所以现在的规则是继续使用 View Engine - ngc 作为库。这就是 ngcc 如何融入图片,使用 View Engine 代码处理库。
关于这个问题,ngcc 的来源有每个人的文档:
properties给出标志,ngcc 将处理所有包格式(fesm2015、fesm5、es2015、esm2015、esm5、main、module),这可能不是我们想要的。first-only告诉 ngcc 处理它在 package.json 中找到的第一个属性,否则它将处理上面列出的所有条目。create-ivy-entry-points会告诉NGCC为常春藤产生的进入创造,而不是覆盖以前的一个新的属性。我认为有些人使用 postinstall 进行流程优化。我实际上是将它添加到我工作的 Angular 应用程序中,以便在我们的 CI 管道中缓存 Ivy-ready node_modules。
| 归档时间: |
|
| 查看次数: |
9204 次 |
| 最近记录: |