升级Angular至v13后出现'Property "umdModuleIds" is not allowed'错误求助
Angular v13升级后
umdModuleIds配置报错的解决办法 Angular升级到v13后,ng-packagr的配置规范发生了变化,umdModuleIds这个属性被移除了,所以你在ng-package.json里使用它会触发schema校验错误。
解决步骤如下:
- 直接删除
ng-package.json中lib节点下的umdModuleIds配置项 - 如果之前用
umdModuleIds是为了指定UMD模块的全局变量映射,现在需要把这些配置移到项目根目录的package.json中,新增umd:globals字段,格式示例:{ "umd:globals": { "lodash": "_", "rxjs": "rxjs" } } - 如果你需要将某些非peer依赖打包进UMD产物,还可以在
ng-package.json的lib节点下添加allowedNonPeerDependencies配置,指定允许的依赖包名:{ "lib": { "allowedNonPeerDependencies": ["lodash"] } }
原因说明:Angular v13配套的ng-packagr版本更新了配置schema,将UMD全局变量的配置迁移到了package.json,这样更贴合npm包的标准配置方式,同时废弃了原有的umdModuleIds属性。
内容的提问来源于stack exchange,提问作者Diallo Diouldé
相关产品推荐
相关产品推荐

