代码之家  ›  专栏  ›  技术社区  ›  ProgSky

模块内的角6访问服务出现错误“模块没有导出成员”

  •  0
  • ProgSky  · 技术社区  · 6 年前

    export class ThemeLibModule {
      static forRoot(): ModuleWithProviders {
        return <ModuleWithProviders>{
          ngModule: ThemeLibModule,
          providers: [
            BaThemeConfigProvider,
            BaThemeConfig,
            GlobalState,
            ...NGA_VALIDATORS,
            ...NGA_SERVICES,
          ],
        };
      }
    
    const NGA_SERVICES = [BaImageLoaderService,BaThemePreloader,BaThemeSpinner,BaMenuService,];
    

    theme-lib 是已发布库的名称。我正在另一个应用程序中使用此库,如下所示:

    应用模块.ts

    import { BrowserModule } from '@angular/platform-browser';
    import { NgModule } from '@angular/core';
    import { AppComponent } from './app.component';
    import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
    import { HttpModule } from '@angular/http';
    import {ThemeLibModule} from 'theme-lib';
    
    
    @NgModule({
      declarations: [
        AppComponent
      ],
      imports: [
        BrowserModule,
        ThemeLibModule.forRoot(),
        HttpClientModule,
        HttpModule,
      ],
      providers: [],
      bootstrap: [AppComponent]
    })
    export class AppModule { }
    

    如何访问在构建库时导出的各种服务?

    当我试着 import {BaMenuService} from 'theme-lib'; 它给我的错误是“Lib没有导出成员作为BaMenuService”。

    这就是theme-lib.d.ts的外观,我确实看到了导出的各种模块和服务。不知道为什么我得到“Lib has Not export member error”。

    /**
     * Generated bundle index. Do not edit.
     */
    export * from './public_api';
    export { AppTranslationModule as ɵbn, createTranslateLoader as ɵbm } from './lib/app.translation.module';
    export { BaThemeConfigProvider as ɵl } from './lib/theme';
    export { AutoCompleteComponent as ɵbk, BaBackTop as ɵm, BaBreadCrumb as ɵba, BaCancelButtonComponent as ɵbd, BaCard as ɵn, BaChartistChart as ɵo, BaCheckbox as ɵp, BaClearButtonComponent as ɵbg, BaContentTop as ɵq, BaFileUploader as ɵz, BaFullCalendar as ɵr, BaMenu as ɵt, BaMenuItem as ɵs, BaMsgCenter as ɵu, BaMultiCheckbox as ɵv, BaPage as ɵbc, BaPageTop as ɵw, BaPane as ɵbb, BaPictureUploader as ɵx, BaSaveButtonComponent as ɵbe, BaSearchButtonComponent as ɵbh, BaSidebar as ɵy, BaSubmitButtonComponent as ɵbf, BaToolBarButtonComponent as ɵbi, BaToolBarDropdownButtonComponent as ɵbj } from './lib/theme/components';
    export { BaCardBlur as ɵj } from './lib/theme/components/baCard/baCardBlur.directive';
    export { BaCardBlurHelper as ɵk } from './lib/theme/components/baCard/baCardBlurHelper.service';
    export { BaScrollPosition as ɵg, BaSlimScroll as ɵh, BaThemeRun as ɵi } from './lib/theme/directives';
    export { GlobalState as ɵbq } from './lib/theme/global.state';
    export { BaAppPicturePipe as ɵa, BaKameleonPicturePipe as ɵb, BaProfilePicturePipe as ɵc, FilterPipe as ɵd, MLPCurrencyPipe as ɵf, UTCDatePipe as ɵe } from './lib/theme/pipes';
    export { SaveClosePopupComponent as ɵbl } from './lib/theme/popups';
    export { BaImageLoaderService as ɵbt, BaMenuService as ɵbw, BaThemePreloader as ɵbu, BaThemeSpinner as ɵbv } from './lib/theme/services';
    export { BaThemeConfig as ɵbp } from './lib/theme/theme.config';
    export { BaThemeConfigProvider as ɵbo } from './lib/theme/theme.configProvider';
    export { EmailValidator as ɵbr, EqualPasswordsValidator as ɵbs } from './lib/theme/validators';
    

    我错过了什么?有指针吗?谢谢你的帮助!

    1 回复  |  直到 6 年前
        1
  •  3
  •   Karsten    6 年前

    你需要从外部世界出口一切可以进入的东西。必须在 ./public_api.ts ,看起来应该是这样的:

    export * from './lib/theme/services';
    

    my-lib.d.ts