在syntaxError处由模块“AppModule”导入的意外值“undefined”

问题描述 投票:1回答:3

我是初学者和后续教程,我正在与firebase一起工作。我使用的HTML表工作正常,但在使用angular-4-data-table之后我得到了以下错误由控制台中的模块'AppModule'导入的意外值'undefined'并出现此错误

enter image description here

这是我的app.module

 import { BrowserModule } from '@angular/platform-browser';
    import { NgModule } from '@angular/core';
    import { AngularFireModule } from 'angularfire2';
    import { AngularFireDatabaseModule } from 'angularfire2/database';
    import { AngularFireAuthModule } from 'angularfire2/auth';
    import {RouterModule} from '@angular/router';
    import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
    import { FormsModule} from '@angular/forms';
    import { CustomFormsModule } from 'ng2-validation';
    import { DataTableModule } from 'angular-4-data-table';
       @NgModule({
  declarations: [
    AppComponent,
    BsNavbarComponent,
    HomeComponent,
    ProductsComponent,
    ShoppingCartComponent,
    CheckCheckoutComponent,
    OrderSucessComponent,
    MyOrderComponent,
    AdminProductsComponent,
    AdminOrdersComponent,
    LoginComponent,
    ProductFormComponent
   ],
  imports: [
    BrowserModule,
    FormsModule,
    DataTableModule,
    CustomFormsModule,
    AppRoutingModule,
    AngularFireModule.initializeApp(environment.firebase),
    AngularFireDatabaseModule,
    AngularFireAuthModule,
    NgbModule.forRoot()
],
  providers: [
    AuthService,
    AuthGaurd,
    AdminAuthGuard,
    UserService,
    CategoryService,
    ProductsComponent
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

这是组件中的导入

import { Component, OnInit, OnDestroy } from '@angular/core';
import { ProductService } from 'src/app/product.service';
import { Subscription } from 'rxjs';
import { Product } from 'src/app/models/product';
import { DataTableResource } from 'angular-4-data-table';

我也在这个论坛上观看了之前提出的问题,但对我没有用。

javascript angular datatable
3个回答
1
投票

我和Angular-4-Data-table面临同样的问题

实际上我使用的是更高版本的角度,这与angular-4-data-table没有合作,所以我尝试这个并升级

npm install angular5-data-table --save

在我使用的App Module中

import {DataTableModule} from 'angular5-data-table';

在组件中也是如此

import { DataTableResource } from 'angular5-data-table';

它对我有用,希望它对你有用。


0
投票

你的AppModule是装饰者NgModule。典型的ngModule看起来像这样:

@NgModule({
  declarations: [...],
  imports: [...]
})
export class AppModule{}

请注意,看起来像import { BrowserModule } from '@angular/platform-browser';的导入是为了“包含”来自不同文件的模块,但没有像上面那样的声明,你不能在当前的NgModule中使用它们。

最后,您的AppModule应如下所示:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AngularFireModule } from 'angularfire2';
import { AngularFireDatabaseModule } from 'angularfire2/database';
import { AngularFireAuthModule } from 'angularfire2/auth';
import {RouterModule} from '@angular/router';
import {NgbModule} from '@ng-bootstrap/ng-bootstrap';
import { FormsModule} from '@angular/forms';
import { CustomFormsModule } from 'ng2-validation';
import { DataTableModule } from 'angular-4-data-table';

@NgModule({
    imports: [
        BrowserModule,
        FormsModule,
        DataTableModule,
        CustomFormsModule,
        AppRoutingModule,
        AngularFireModule.initializeApp(environment.firebase),
        AngularFireDatabaseModule,
        AngularFireAuthModule
....
], 
declarations: [....]
})
export class AppModule{}

0
投票
 imports: [
    BrowserModule,
    FormsModule,
    DataTableModule,
    CustomFormsModule,
    AppRoutingModule,
    AngularFireModule.initializeApp(environment.firebase),
    AngularFireDatabaseModule,
    AngularFireAuthModule,
    NgbModule.forRoot(),
]

问题是在最后一个逗号后删除逗号后NgbModule.forRoot()

© www.soinside.com 2019 - 2024. All rights reserved.