Angular13构建含子入口包时ng-packagr配置废弃警告如何处理?
问题结论与解决方案
警告是否为误报
该警告不属于误报。你使用的ng-packagr 13.0.8版本已经正式将package.json中配置ngPackagr字段的用法标记为废弃,当时官方文档更新存在滞后,后续版本的官方文档已经明确标注了该废弃规则,v14及以上的ng-packagr版本已经完全不支持在package.json中读取ng-packagr相关配置。
具体处理步骤
- 第一步:提取你当前
package.json中所有ngPackage字段下的配置内容,比如库配置、资源路径、子入口规则等。 - 第二步:在你打包的包根目录新建名为
ng-package.json的文件,将第一步提取的配置内容直接作为该文件的顶层JSON对象写入,无需保留外层的ngPackage键。
配置迁移示例:
原来package.json中的配置:
迁移后{ "name": "your-lib", "version": "1.0.0", "ngPackage": { "lib": { "entryFile": "src/public-api.ts" }, "assets": ["./README.md"] } }ng-package.json的内容:{ "lib": { "entryFile": "src/public-api.ts" }, "assets": ["./README.md"] } - 第三步:如果你的包包含子入口,在每个子入口对应的目录下也新建专属的
ng-package.json,仅写入该子入口特有的配置即可,通用配置会自动继承根目录的ng-package.json规则。 - 第四步:删除
package.json中原来的整个ngPackage字段,重新执行打包命令,警告即可消失,原有打包逻辑不会发生任何变更。
内容的提问来源于stack exchange,提问作者Rambou
相关产品推荐
相关产品推荐

