如何从分布式模块导入Angular服务?

问题描述 投票:0回答:1

我正在尝试创建一个可分发的(使用ng-packagr的NPM)Angular服务。我已经创建了服务和模块。我在用

export class MyModule {
    static forRoot(configs: MyConfigs): ModuleWithProviders {
      return {
        ngModule: MyModule,
        providers: [MyService, { provide: 'configs', useValue: configs }]
      };
    }
  }

因此用户可以在app.module中配置服务。

import { MyModule } from 'themodule';

//...

imports: [
 MyModule.forRoot({/*configs*/});

一切正常。

但我必须遗漏一些东西。

如何导入服务以便他们可以引用注入服务。

import { MyService } from 'themodule';

constructor(private myservice: MyService) { }

我知道我在做一些愚蠢的事。我的意思是服务被导入app.module就好了。

更新:

亲爱的上帝帮助我!

我所要做的就是将它添加到public_api.d.ts的出口中

我想我的脑袋在“它必须复杂!”模式。

除非有人有另一种[适当的角度中心式]答案,否则这是我的解决方案。

angular
1个回答
0
投票

亲爱的上帝帮助我!

我所要做的就是将它添加到public_api.d.ts的出口中

我想我的脑袋在“它必须复杂!”模式。

......并不复杂。

© www.soinside.com 2019 - 2024. All rights reserved.