Angular ng build -p AoT问题

时间:2018-02-21 19:03:31

标签: angular typescript angular2-aot

在我的项目中执行命令ng build -prod时遇到问题,我实际上花了很多时间阅读控制台中的错误显示:

  

错误中的错误:静态解析符号值时出错。   调用函数'RequesthuellaModule',函数调用不是   支持的。考虑用引用替换函数或lambda   到导出的函数,解析符号TallerModule in   /Users/mac/generator/boilerplate-webangular2/src/app/modules/taller/taller.module.ts,   解决符号TallerModule in   /Users/mac/generator/boilerplate-webangular2/src/app/modules/taller/taller.module.ts

我发现所有的anwsers告诉我使用一些lambda函数,但我没有在我的代码中。我把我使用的文件的来源:

图书馆requesthuella.module.ts

import { NgModule, ModuleWithProviders } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HuellaService } from './../serviceS/huella.service';
import { RequestHuellaOpciones } from './../models/RequestHuellaOpciones';
import { RequestHuellaComponent } from './requesthuella.component';

@NgModule({
    declarations: [
        // Pipes.
        // Directives.
    ],
    exports: [
        // Pipes.
        // Directives.
    ],
    imports: [
        FormsModule
    ]
 })
 export class RequesthuellaModule {
    public static forRoot(): ModuleWithProviders {
      return {
        ngModule: RequesthuellaModule,
        providers: [HuellaService, RequestHuellaComponent]
      };
  }


    public static forChild(): ModuleWithProviders {
      return {
          ngModule: RequesthuellaModule,
          providers: [HuellaService, RequestHuellaComponent]
      };
    }

}

taller.module.ts

  import { NgModule } from '@angular/core';
  import { CommonModule } from '@angular/common';
  import { FormsModule} from '@angular/forms';
  import { ReactiveFormsModule } from '@angular/forms';
  import { OrderModule } from 'ngx-order-pipe';
  import {NgxPaginationModule} from 'ngx-pagination';
  import { TooltipModule } from 'ngx-bootstrap/tooltip';
  import { BlockUIModule } from 'ng-block-ui';
  import { ModalModule } from 'ngx-bootstrap';
  import { DirectivesModule} from 'app/directives/directives.module';
  import {DataTableModule} from 'angular2-datatable';
  import { RequesthuellaModule, HuellaService, RequestHuellaComponent } from '@oc/requesthuella-library';

  import { TallerRoutingModule } from './taller-routing.module';
  import { TallerComponent } from './taller.component';
  import { TallerFormComponent } from './taller-form.component';

  import { CentrosService } from './services/centros.service';
  import { TallerModalComponent } from './modals/taller-modal/taller-modal.component';

  @NgModule({
    imports: [
      CommonModule,
      TallerRoutingModule,
      FormsModule,
      ReactiveFormsModule,
      OrderModule,
      NgxPaginationModule,
      TooltipModule.forRoot(),
      BlockUIModule,
      ModalModule.forRoot(),
      DirectivesModule,
      DataTableModule,
      RequesthuellaModule.forRoot()
    ],
    declarations: [TallerComponent, TallerFormComponent, TallerModalComponent, RequestHuellaComponent],
    providers: [
      CentrosService,
      HuellaService
    ],
    entryComponents: [TallerModalComponent],
  })
  export class TallerModule { }

我不知道为什么会出现错误,顺便说一下如果我只使用ng构建它就像魅力一样,只会在添加-prod参数时引起问题。

感谢阅读。

1 个答案:

答案 0 :(得分:0)

我发现了问题。一个版本的模板我用于库脚手架我只是更新它,并配置文件tsconfig.ts。

代码是正确的,只是依赖项已废弃且配置错误。