了解如何管理自定义npm库中的依赖项

我正在尝试为大型分布式应用程序编写第一组npm库,并且遇到了有关如何管理依赖项的问题。 Npm具有“依赖关系”和“ peerDependencies”的概念。

据我所读,peerDependencies是您要编写“插件”时所需要的,在该插件中,使用方应用程序已经在其末端安装了依赖项。例如,这可能是为webpack构建插件。

然后,库在运行时需要常规依赖项。在我的场景中,我试图编写一个库,以从使用中的应用程序中抽象出身份验证和授权。这个新库(我们称其为@ myapp / auth)对@auth0/angular-jwt库有依赖性,因为它使用它来处理JWT。我希望将此库从消费应用程序中完全删除,从而不强制该消费应用程序手动安装。

话虽如此,听起来我需要将@auth0/angular-jwt添加到库中的dependencies,然后将其添加到whitelistedNonPeerDependencies中以便进行构建。

这使我感到困惑,因为ng-packagr docs say that we should always use peerDependencies when possible。如果是这种情况,那么为什么当您安装较大的库(如express时,您只运行npm install express --save并得到{strong> ALL 手动安装每个。

将包依赖项包括在您不希望使用应用程序自行安装的自定义库中的正确方法是什么?

tangshuo4444 回答:了解如何管理自定义npm库中的依赖项

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3107448.html

大家都在问