如何在angular 6+库中正确限制模块的依赖性?

时间:2018-11-19 13:41:53

标签: angular angular-library

我创建了一个遵循Angular Package Format guidelines的角度库。

我在库中创建了几个模块,目的是仅导入特定应用程序中所需的模块。问题是,如果我有需要“依赖关系X”的模块“ A”,则当我在应用程序中使用库的其他模块时,当我运行该应用程序并且构建模块时,我会收到一条错误消息,说“依赖关系X”即使我没有导入使用“依赖关系X”的模块,也找不到。在我看来这是不对的,因为被迫添加一堆与应用程序本身无关的依赖关系是没有意义的,仅仅是因为该库的某个模块(甚至没有被使用)需要它。 >

我已经在网上搜索了一段时间,以尝试找到解决方案,但是找不到任何相关信息。

我对package.json的peerDependencies感到很困惑,因为它指出here依赖库应该放在那里(尽管似乎应该去的依赖是必不可少的)而不是一个模块所需的依赖项),还有ng-package.json的lib.externals(似乎已在最新版本中删除了)。

我无法解决我的问题,因此我认为它必须存在解决此问题的方法。所以我的问题是:在Angle 6+库中管理模块依赖关系的正确方法是什么?

P.S .:我希望我已经足够清楚了,因为它只是书面文本,但是如果您觉得我应该添加一些内容以使其更清楚和对他人有所帮助,请说一下,我将进行相应的编辑。谢谢

0 个答案:

没有答案