我有一个关于Angular库次要入口设置的非常具体的问题。我真的不明白如何设置它,使它在它们彼此之间依赖,包括主入口点时正常工作。我已经阅读了ng-packagr的文档和许多问题和堆栈问题,但没有找到真正好的答案。问题在于我想将我们庞大的内部库分成更小的组件,以便于不需要所有内容的应用程序的导入和依赖项变得更小。
所以这就是我想要实现的:
- 主库 @my/my-lib - 次要路径 @my/my-lib/functions - 次要路径 @my/my-lib/constants - 次要路径 @my/my-lib/lang - 次要路径 @my/my-lib/broker - 次要路径 @my/my-lib/signalr - 次要路径 @my/my-lib/sso - 次要路径 @my/my-lib/types
以下是文件夹结构:
所以这就是我想要实现的:
- 主库 @my/my-lib - 次要路径 @my/my-lib/functions - 次要路径 @my/my-lib/constants - 次要路径 @my/my-lib/lang - 次要路径 @my/my-lib/broker - 次要路径 @my/my-lib/signalr - 次要路径 @my/my-lib/sso - 次要路径 @my/my-lib/types
以下是文件夹结构:
projects\my-lib
-- constants\
---- ...
---- package.json
---- public_api.ts
-- functions\
---- ...
---- package.json
---- public_api.ts
-- lang
---- ...
---- package.json
---- public_api.ts
-- broker
---- ...
---- package.json
---- public_api.ts
-- signalr
---- ...
---- package.json
---- public_api.ts
-- sso
---- ...
---- package.json
---- public_api.ts
-- src <-- the main entry point, as setup from the ng g library
---- lib
------ modules <-- the old ones from where i want to source parts out in secondary paths
-------- auth
-------- config
-------- footer
-------- header
-------- log
-------- state
-------- ...
---- public_api.ts
-- ng-package.json <-- main entry point
-- package.json <-- main entry point
现在我的问题是:
前两个,常量和函数,都像预期的那样工作,因为它们不依赖于任何内容。
现在当我想要从主要的@my/my-lib
导入来自@my/my-lib/lang
的某些东西,并反过来时,我会在其自身上收到循环依赖警告。对我来说,这在第一次听起来是有道理的,因为ng-packagr不知道先构建哪个。
到目前为止,我所读到的是,次要入口点始终先被构建,当我没有来自@my/my-lib/lang
到@my/my-lib
内部服务的依赖项时,这将完美地发挥作用,所以如何设置可以让我从@my/my-lib
中导入@my/my-lib/lang
中的内容,反之亦然?