【发布时间】: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