Как исправить ошибку: неожиданное значение DataTableModule, импортированное модулем DashboardModule. Пожалуйста, добавьте аннотацию @NgModule - PullRequest
0 голосов
/ 10 мая 2019

Я преобразовал проект Angular 4 в Angular 7. Команды подачи работают, но после входа в приложение выдает ошибку в консоли «Неожиданное значение« DataTableModule », импортированное модулем« DashboadModule ». Пожалуйста, добавьте @NgModuleаннотация. " Приложение отлично работает в версии Angular 4.У меня уже есть DatatableModule в определении массива Imports, тогда какова причина появления ошибки.

Если я собираю build --prod.ниже выдается ошибка -

Ошибка при ошибке во время компиляции шаблона Вызовы функций «DataTableModule» не поддерживаются в декораторах, в «NgModule» «NgModule» вызывает функцию по адресу @angular \ core \ core.ts(194,50).

Здесь DashboardModule - пользовательский модуль, а DataTableModule - модуль NPM, импортированный в Dashboard.module.ts.Ниже приведено определение -

1) dashboard.module.ts

import { NgModule } from '@angular/core';
import { DashboardComponent } from './dashboard.component';
import { DashboardRoutingModule } from './dashboard-routing.module';
import { SharedModule } from './../shared/shared.module';
import { DataTableModule } from 'angular-4-data-table-bootstrap-4';
import { CommonModule } from '@angular/common';  
import { DashboardService } from './../shared/_services/dashboard.service';

@NgModule({
  imports: [
    SharedModule,CommonModule,DataTableModule,
    DashboardRoutingModule

  ],
  declarations: [
    DashboardComponent
  ],
  providers:[DashboardService]
})
export class DashboardModule { }

2) package.json зависимости

Вот версия, которую я использую для datatable: - angular-4-data-table-bootstrap-4 ":" ^ 0.2.0 ",

"dependencies": {
    "@agm/core": "^1.0.0-beta.1",
    "@angular/animations": "^7.2.14",
    "@angular/common": "^7.2.14",
    "@angular/compiler": "^7.2.14",
    "@angular/core": "^7.2.14",
    "@angular/forms": "^7.2.14",
    "@angular/http": "^7.2.14",
    "@angular/platform-browser": "^7.2.14",
    "@angular/platform-browser-dynamic": "^7.2.14",
    "@angular/router": "^7.2.14",
    "@ng-bootstrap/ng-bootstrap": "^1.0.0-beta.5",
    "angular-2-dropdown-multiselect": "^1.9.0",
    "angular-4-data-table-bootstrap-4": "^0.2.0",
    "angular2-multiselect-dropdown": "^2.10.2",
    "classlist.js": "^1.1.20150312",
    "core-js": "^2.5.0",
    "file-saver": "^1.3.3",
    "geolib": "^2.0.24",
    "intl": "^1.2.5",
    "moment": "^2.22.1",
    "mydatepicker": "^2.6.3",
    "ng-pick-datetime": "^5.0.0-beta.10",
    "ng2-filter-pipe": "^0.1.10",
    "ngx-chips": "^1.6.5",
    "ngx-inactivity": "^1.0.1",
    "ngx-loading": "^1.0.8",
    "ngx-order-pipe": "^1.1.0",
    "ngx-pagination": "^3.0.1",
    "rxjs": "^6.5.1",
    "rxjs-compat": "^6.5.1",
    "web-animations-js": "^2.3.1",
    "xlsx": "^0.14.3",
    "xlsx-style": "^0.8.13",
    "zone.js": "^0.9.1"
  }

3) dashboard.component.ts

Я импортировал приведенное ниже определение из DataTableModule

import { DataTable, DataTableResource, DataTableTranslations, DataTablePagination } from 'angular-4-data-table-bootstrap-4';

Я также проверял его последнюю версию в репозитории NPM - https://www.npmjs.com/package/angular-4-data-table-bootstrap-4 это последняя и с последних 2 лет, не последняяотпустить на всех.Я обеспокоен, есть ли какие-либо серьезные изменения в Angular 7 относительно объявления или определения модуля?Если да, то что это?и как приступить к устранению вышеуказанной проблемы?

1 Ответ

0 голосов
/ 10 мая 2019

Я думаю, что это будет работать.

В app.module.ts:

Просто замените:

import { DataTableModule } from 'angular-4-data-table';

с

import { DataTableModule } from 'angular-4-data-table/src/index';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...