首页 > 解决方案 > 角度库导出组件、类、服务等

问题描述

我与这个主题有不同的类似问题,但它的解决方案对我没有帮助。所以我试图从我的库中导出组件,然后在我的主应用程序中扩展组件。我的图书馆的结构是下一个

在此处输入图像描述

在我的pages.module.ts我有

@NgModule({
  declarations: [
    TrailblazersComponent,
  ],
  imports: [
    CommonModule,
  ],
  exports: [
    TrailblazersComponent,
  ],
  providers: [
  ]
})

export class PagesModule {
}

在里面carol-lb-lib.module.ts

@NgModule({
  declarations: [
    CarolLbLibComponent,
  ],
  imports: [
    CommonModule,
    PagesModule,
    StoreModule.forFeature(
      lbFeatureKey,
      LB_REDUCER_TOKEN,
    ),
    EffectsModule.forFeature([GlobalBoardEffects])
  ],
  exports: [
    CarolLbLibComponent,
    PagesModule,
  ],
  providers: [
    {provide: LB_REDUCER_TOKEN, useFactory: getReducers}
  ]
})
export class CarolLbLibModule {
}

如您所见,我按照PagesModule上述主题中的建议进行导出。但是当我在主项目中安装我的库并尝试像这样扩展我的组件时

import {TrailblazersComponent} from 'carol-lb-lib/lib/pages/trailblazers/trailblazers.component';

...
export class TrailblazersPageComponent extends TrailblazersComponent implements OnInit {

  constructor(private activatedRoute: ActivatedRoute,
              store: Store<AppState>) {
    super(store);
  }
}

我有一个错误 ERROR in ./src/app/modules/leaderboard/pages/trailblazers/trailblazers-page.component.ts Module not found: Error: Can't resolve 'carol-lb-lib/lib/pages/trailblazers/trailblazers.component' in '/home/dd/Desktop/repos/dashboard/src/app/modules/leaderboard/pages/trailblazers'

这个实现有什么问题?如何修复它并缩短应用程序中组件的导入时间?喜欢import {component} from 'my-lib/components'

我的 public.api 文件也包含

export * from './lib/carol-lb-lib.service';
export * from './lib/carol-lb-lib.component';
export * from './lib/carol-lb-lib.module';
export * from './lib/pages/pages.module';

有什么想法/建议吗?

标签: angulartypescriptangular-library

解决方案


推荐阅读