Angular 相互依赖的角度库辅助入口点

Angular 相互依赖的角度库辅助入口点,angular,typescript,angular-library,ng-packagr,Angular,Typescript,Angular Library,Ng Packagr,我正在尝试为每个模块创建一个带有辅助入口点的角度库 我有三个模块:A、B和C。 A是独立的,但B依赖于C,这意味着我必须在B.module.ts中导入C.module.ts 我遵循了,因此在每个模块中都有一个package.json、index.ts和public_api.ts文件 当我尝试构建库时,出现以下错误: ------------------------------------------------------------------------------ Building ent

我正在尝试为每个模块创建一个带有辅助入口点的角度库

我有三个模块:A、B和C。 A是独立的,但B依赖于C,这意味着我必须在
B.module.ts
中导入
C.module.ts

我遵循了,因此在每个模块中都有一个
package.json
index.ts
public_api.ts
文件

当我尝试构建库时,出现以下错误:

------------------------------------------------------------------------------
Building entry point '@org/library-name/src/lib/A'
------------------------------------------------------------------------------
Compiling TypeScript sources through ngc
Bundling to FESM2015
Bundling to UMD
Minifying UMD bundle
Writing package metadata
Built @org/library-name/src/lib/A

------------------------------------------------------------------------------
Building entry point '@org/library-name/src/lib/B'
------------------------------------------------------------------------------
Compiling TypeScript sources through ngc
ERROR: Unable to write a reference to CComponent in /.../projects/library-name/src/lib/C/C.component.ts from /.../projects/library-name/src/lib/C/C.module.ts
你知道怎么做吗?
提前谢谢。

我可以告诉你我是如何解决这个问题的

这里的问题是理解
ng packagr
如何根据入口点/文件夹结构构建库

在我的特殊情况下,我有以下结构:

输出是2个块,对吗
my lib/common
my lib/common/big chunk

第二个入口点恰好是在主入口点之前构建的,因此有一个共享逻辑,我需要将它(并导出)放在第二个入口点
my lib/common/big chunk
上,并在主入口点
my lib/common
上使用它

如果发现自己需要共享逻辑,请考虑创建<代码>共享< /代码>入口点。


我发现使用和实现二级入口点非常棘手,可能需要一些重构来让它们工作并充分利用它们所能带来的好处,但总的来说,我认为这是完全值得的:)

你找到了解决方案吗?我也有同样的问题。你能提供一个带有代码库的存储库来看看吗?你能用示例解释更多细节吗?如果C组件是全局共享的,那么我们如何使用B组件,同时使用a组件。@miguelssrrr,在我的用例中,我需要在两个不同的独立入口点(比如a和B模块)上使用公共的单例服务。你能帮助我理解如何在两个独立的模块中调用公共单例服务吗?@dhana@sarangan我认为你们都有相同的用例,它是我上面解释的扩展-你需要为共享逻辑创建一个单独的入口点(不管它是服务、组件还是函数),并向消费者进口假设您创建了一个
my lib/common/shared
入口点,其中包含您想要共享的逻辑。-在消费者A或消费者B上,您需要
从'my lib/common/shared'导入{fantasticslogic}
@miguelssrrr,非常感谢。它正在按预期工作