【问题标题】:Angular ng build -p AoT issueAngular ng build -p AoT 问题
【发布时间】:2018-02-21 19:03:31
【问题描述】:

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

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

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

库请求huella.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 build 构建它就像一个魅力,只有在添加 -prod 参数时才会导致问题。

感谢阅读。

【问题讨论】:

    标签: angular typescript angular2-aot


    【解决方案1】:

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

    代码是对的,只是依赖过时和错误配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-28
      • 1970-01-01
      • 1970-01-01
      • 2020-10-03
      • 2018-02-23
      • 2017-07-04
      • 1970-01-01
      • 2018-02-15
      相关资源
      最近更新 更多