装饰器不支持函数调用,但是

时间:2019-02-18 08:18:47

标签: javascript angular typescript

说明

我编写了一个角度库SxfedModule,并将其用于其他角度应用程序中。当我将应用程序与库打包时,没有--prod的一切都可以正常工作。

复制步骤

在通过app.module.ts中的SxfedModule .forRoot()调用的cli生成的新的angular应用程序中使用该库。

该库的NgModule:

    import { NgModule, ModuleWithProviders } from '@angular/core';  
    import { SxfedformModule } from './component/sxfedform/sxfedform.module';
    export const ElChildModules: any = {
      SxfedformModule,
    }
    export const ELMODULES_GROUP: any[] = [
      SxfedformModule,
    ]
    @NgModule({
      imports: [
        SxfedformModule.forRoot(),
      ],
      exports: ELMODULES_GROUP,
    })
    class SxfedModule {
      static forRoot(): ModuleWithProviders {
        return {
          ngModule: SxfedModule,
          providers: [],
        };
      }
    }
    export {
      SxfedModule,
    };

应用程序的NgModule:

    import { BrowserModule } from '@angular/platform-browser';
    import { BrowserAnimationsModule } from '@angular/platform- 
   browser/animations';
    import { NgModule } from '@angular/core';
    import { AppComponent } from './app.component';
    import { ElModule } from 'element-angular'; 
    import { SxfedModule } from 'sxfed-angular-ui';
    import { RouterModule } from '@angular/router';
    import { FormsModule, ReactiveFormsModule } from '@angular/forms';
    import { appRoutes } from './app.routes';
    @NgModule({
      declarations: [
        AppComponent,
        LoginComponent,
      ],
      imports: [
        BrowserModule,
        FormsModule,
        ReactiveFormsModule,
        BrowserAnimationsModule,
        ElModule.forRoot(),
        SxfedModule.forRoot(),
        RouterModule,
        RouterModule.forRoot(appRoutes),
      ],
      providers: [
      ],
      bootstrap: [AppComponent]
    })
    export class AppModule { }

尝试ng build --prod

错误

ERROR in Error during template compile of 'AppModule'
  Function calls are not supported in decorators but 'SxfedModule' was called.

您的环境

Angular CLI:7.2.3 节点:8.11.1 操作系统:win32 x64 角度:7.2.2

感谢您阅读我的问题。 请帮助我,谢谢。

0 个答案:

没有答案