【发布时间】:2022-01-07 21:34:09
【问题描述】:
我需要将库升级到 angular 12...我已经完成了。 用ivy全编译模式编译这个库成功了,但是发现不能把这样编译的库发布到npm???
按照许多帖子中的建议设置 "enableIvy":false 和 "compilationMode": "partial" 会引发错误
在旧版 View Engine 编译模式下使用 Angular 进行编译。 Angular 结构同时加载和异步加载
这个错误好像没有明确的解决办法??
在这种环境下,人们应该如何保持最新的 Angular 版本并将他们的库发布到 npm?
【问题讨论】:
-
有更多关于为什么
ViewEngine的信息-this GitHub issue comment需要编译库。 Tl;dr 向前兼容性。 -
我能找到或读到的所有内容都是 Angular 12 弃用了 ViewEngine 编译……那是什么?这种方法似乎半生不熟,被依赖于稳定系统才能完成工作的开发人员所抛弃。升级后我需要能够将此代码构建到 NPM。我敢肯定还有其他人在同一条船上创建库,我不明白为什么他们会在没有明确的方法来实现为 NPM 构建库的情况下这样做
-
Based on this blog post,您的配置似乎不正确。
"compilationMode": "partial"仅在"enableIvy": "true"时有效。 Angular 文档确认,"for publishing to npm use the partial-Ivy format"、"enableIvy": "true"和"compilationMode": "partial"似乎是 Angular 12 之后的发展方向。 -
...至少如果您没有任何
ViewEngine依赖项并且您不需要支持 Angular 11。请注意ViewEngine在 Angular 12 中已被弃用但未删除直到 Angular 13。
标签: angular npm angular12 angular-ivy