Angular 2 产品构建错误 : ERROR in Error: Illegal state: Could not load the summary for directive

标签 angular angular2-routing angular2-services angular2-directives production

我在我的项目中使用 angular 2,当我使用 ng buildng serve 时,我没有收到以下错误。这仅在使用 prod build ng build --prod

时发生
ERROR in Error: Illegal state:
      Could not load the summary for directive "component name"

我的项目中使用了以下依赖项。

任何人请尝试帮助解决这个问题:

Node  :8.10.0

"dependencies": {
    "@angular-devkit/core": "^0.4.3",
    "@angular/animations": "4.4.6",
    "@angular/common": "4.4.6",
    "@angular/compiler": "4.4.6",
    "@angular/compiler-cli": "4.4.6",
    "@angular/core": "4.4.6",
    "@angular/forms": "4.4.6",
    "@angular/http": "4.4.6",
    "@angular/platform-browser": "4.4.6",
    "@angular/platform-browser-dynamic": "4.4.6",
    "@angular/platform-server": "4.4.6",
    "@angular/router": "4.4.6",
    "@ng-bootstrap/ng-bootstrap": "1.0.0-alpha.28",
    "angular2-google-chart": "2.3.0",
    "angular2-jsonwebtoken": "0.8.1",
    "angular2-jwt": "0.2.3",
    "angular2-toaster": "3.0.1",
    "angular2-uuid": "1.1.1",
    "auth0-lock": "11.7.2",
    "aws-sdk": "2.182.0",
    "chart.js": "2.7.1",
    "core-js": "2.5.3",
    "ng2-charts": "1.6.0",
    "ng2-ckeditor": "1.1.6",
    "ng2-google-place-autocomplete": "1.4.2",
    "ng2-inline-editor": "0.1.1-alpha.20",
    "node-datetime": "1.0.1",
    "primeng": "4.3.0",
    "pubnub": "4.20.0",
    "pubnub-angular2": "1.3.0",
    "rxjs": "5.5.6",
    "typescript": "2.6.2",
    "typings": "^2.1.1",
    "zone.js": "0.7.8"
  },
  "devDependencies": {
    "@angular/cli": "1.4.2",
    "@angular/compiler-cli": "4.4.6",
    "@types/jasmine": "2.5.38",
    "@types/node": "6.0.96",
    "codelyzer": "2.0.1",
    "jasmine-core": "2.5.2",
    "jasmine-spec-reporter": "3.2.0",
    "karma": "1.4.1",
    "karma-chrome-launcher": "2.0.0",
    "karma-cli": "1.0.1",
    "karma-coverage-istanbul-reporter": "0.2.3",
    "karma-jasmine": "1.1.1",
    "karma-jasmine-html-reporter": "0.2.2",
    "protractor": "5.1.2",
    "ts-node": "2.0.0",
    "tslint": "4.5.1",
    "typescript": "2.6.2"
  }

应用模块服务声明:

import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';
import {HttpModule, RequestOptions, Http} from '@angular/http';
import {provideAuth, AuthHttp, AuthConfig} from 'angular2-jwt';

//ThirdParty Modules
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
import {ChartsModule} from 'ng2-charts';
import {InlineEditorModule} from 'ng2-inline-editor';
import {GoogleChart} from './shared/directive/angular2-google-chart.directive';
import {OverlayPanelModule, GrowlModule, ConfirmDialogModule, ConfirmationService, DialogModule} from 'primeng/primeng';
import {ToasterModule, ToasterConfig} from 'angular2-toaster';
import {PubNubAngular} from 'pubnub-angular2';
import {ChartModule} from 'primeng/primeng';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations'
import {CalendarModule} from 'primeng/primeng';
import {AutoCompleteModule} from 'primeng/primeng';
import {GooglePlaceModule} from 'ng2-google-place-autocomplete';
import {DataTableModule, SharedModule, PaginatorModule, InputMaskModule, ChipsModule, MultiSelectModule, PickListModule} from 'primeng/primeng';




//Components
import {AppComponent} from './app.component';
import {RegistrationComponent} from './registration/registration.component';
/*import { MywebsiteHeaderComponent } from './dashboard/mywebsite-header/mywebsite-header.component';*/
import {MyReportsComponent} from './my-reports/my-reports.component';
import {MyWebsitesComponent} from './my-websites/my-websites.component';
import {WelcomeMessageComponent} from './welcome-message/welcome-message.component';
import {ViewProfileComponent} from './view-profile/view-profile.component';
import {MyHomeComponent} from './my-home/my-home.component';
import {PrivacyComponent} from './static/privacy/privacy.component';
import {AboutComponent} from './static/about/about.component';
import {SelectWebsiteTypeComponent} from './select-website-type/select-website-type.component';
import {ManageUsersComponent} from './manage-users/manage-users.component';




//Modules
import {RoutingModule} from './routing/routing.module';
import {VerifyEmailComponent} from './verify-email/verify-email.component';
import {VerifyMailSendComponent} from './verify-mail-send/verify-mail-send.component';
import {HomeComponent} from './home/home.component';
import {AdminConsoleComponent} from './admin/admin-console/admin-console.component';
import {BusinessProfileModule} from './dashboard/business-profile/business-profile.module';
import {BrandingModule} from './dashboard/branding/branding.module';
import {PaymentsModule} from './dashboard/payments/payments.module';
import {StripePaymentModule} from './stripe-payment/stripe-payment.module';
import {TrackingCodeModule} from './dashboard/tracking-code/tracking-code.module';
import {InviteMemberModule} from './dashboard/invite-member/invite-member.module';
import {SiteDesignModule} from './dashboard/site-design/site-design.module';
import {QuickwebsiteModule} from './dashboard/quickwebsite/quickwebsite.module';
import {ManageUsersModule} from "./manage-users/manage-users.module";
import {OrganizationChartModule} from 'primeng/primeng';
//import { PreviewPublishModule } from './dashboard/preview-publish/preview-publish.module';

//Services
import {Auth} from './services/auth';
import {AuthGuard} from './services/auth-guard.service';
import {AdminService} from './admin/admin-console/admin.service';
import {GetUserService} from './services/get-user.service';
import {LoggedinGuard} from './loggedin.guard';
import {MyOrgComponent} from './my-org/my-org.component';
import {FirstuserGuard} from './routing/guards/firstuser.guard';

//Directives



import {RequestActivationComponent} from './admin/request-activation/request-activation.component';
import {DataAvailabilityCheckComponent} from './admin/data-availability-check/data-availability-check.component';
import {ApiRequestSuccessComponent} from './api-request-success/api-request-success.component';
import {KeyPersonInfoCollectionComponent} from './key-person-info-collection/key-person-info-collection.component';
import {ThirdpartyInfoComponent} from './admin/thirdparty-info/thirdparty-info.component';
import {GlobalConstantsComponent} from './admin/global-constants/global-constants.component';
import {GlobalConstantsPopupComponent} from './admin/global-constants-popup/global-constants-popup.component';



@NgModule({
    declarations: [

        AppComponent,
        RegistrationComponent,
        VerifyEmailComponent,
        VerifyMailSendComponent,
        HomeComponent,
        AdminConsoleComponent,
        MyHomeComponent,
        MyReportsComponent,
        WelcomeMessageComponent,
        ViewProfileComponent,
        MyOrgComponent,
        MyWebsitesComponent,
        GoogleChart,
        PrivacyComponent,
        AboutComponent,
        SelectWebsiteTypeComponent,
        RequestActivationComponent,
        DataAvailabilityCheckComponent,
        ApiRequestSuccessComponent,
        KeyPersonInfoCollectionComponent,
        ThirdpartyInfoComponent,
        GlobalConstantsComponent,
        GlobalConstantsPopupComponent,

    ],
    imports: [
        BrowserModule,
        FormsModule,
        ReactiveFormsModule,
        HttpModule,
        RoutingModule,
        NgbModule,
        BusinessProfileModule,
        BrandingModule,
        PaymentsModule,
        StripePaymentModule,
        TrackingCodeModule,
        InviteMemberModule,
        SiteDesignModule,
        ChartsModule,
        InlineEditorModule,
        OverlayPanelModule,
        ToasterModule,
        GrowlModule,
        ChartModule,
        BrowserAnimationsModule,
        CalendarModule,
        ConfirmDialogModule,
        AutoCompleteModule,
        QuickwebsiteModule,
        DialogModule,
        GooglePlaceModule,
        DataTableModule,
        SharedModule,
        PaginatorModule,
        InputMaskModule,
        ChipsModule,
        OrganizationChartModule,
        ManageUsersModule,
        MultiSelectModule,
        PickListModule

    ],
    entryComponents: [ HomeComponent, RegistrationComponent, WelcomeMessageComponent, SelectWebsiteTypeComponent, ManageUsersComponent, ApiRequestSuccessComponent, KeyPersonInfoCollectionComponent, GlobalConstantsPopupComponent],
    providers: [
        AdminService,
        Auth,
        AuthGuard,
        GetUserService,
        LoggedinGuard,
        FirstuserGuard,
        PubNubAngular,
    ],
    bootstrap: [AppComponent]
})
export class AppModule {}

Globalconstantpopup 文件声明和导入:

import { Component, OnInit, NgModule, Input } from '@angular/core';
import { NgbModal, NgbActiveModal, ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';
import { GlobalConstantsService } from '../global-constants/global-constants.service';
import { GlobalConstantsComponent } from '../global-constants/global-constants.component';

import { InlineEditorModule } from 'ng2-inline-editor';
import { DataTableModule, SharedModule, LazyLoadEvent, PickListModule } from 'primeng/primeng';

@Component({
  selector: 'app-global-constants-popup',
  templateUrl: './global-constants-popup.component.html',
  styleUrls: ['./global-constants-popup.component.css'],
  providers: [GlobalConstantsService],
})
@NgModule({
  imports: [
    InlineEditorModule,

  ]
})
export class GlobalConstantsPopupComponent implements OnInit {

//codes here
}

最佳答案

问题是因为您的组件上有一个 @NgModule 注释。这是不支持的(如 here 所示)

尝试从您的组件中删除这些行

@NgModule({
  imports: [
    InlineEditorModule,

 ]
})

并改为从 AppModule 导入 InlineEditorModule

认为这在开发模式下有效,但在使用 --prod 标志构建时不起作用的原因是生产构建做了一些代码优化(angular.json 中的 >buildOptimizer 参数),这可能会去除您的 Component 注释。

关于Angular 2 产品构建错误 : ERROR in Error: Illegal state: Could not load the summary for directive,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61951444/

相关文章:

Angular 2 : Lazy Loading without Routing and Dynamic Loading

javascript - Angular 2 过滤

Angular:将 base-href 与 scss url 结合使用

http - this.http.post(...).map 不是一个函数

angular - 类型 'SharedArrayBuffer' 不可分配给类型 'ArrayBuffer'

angular - angular2 中的全局数据

angular - 如何路由到模块作为模块的子级 - Angular 2 RC 5

angular - promise 并订阅

Angular2路由器通过带有Observable捕获404的Resolve提供Http数据服务

angular - 当 'application/json' 在 Angular4 cli 的 header 中设置时,Http.post 不起作用