Angular 9 как исправить экспорт 'CDK_TABLE' не было найдено в '@ angular / cdk / table - PullRequest
3 голосов
/ 06 апреля 2020

Только что мигрировал с 8 на 9. Сделал все шаг за шагом, я использую angular материал, тоже перенес его, изменил все пути с @ angular / material -> @ angular / материал / стол . Теперь, когда я запускаю ng serve, я получаю эту ошибку:

ERROR in ./node_modules/@angular/material/__ivy_ngcc__/fesm2015/table.js 55:23-32
"export 'CDK_TABLE' was not found in '@angular/cdk/table'

Package. json:

  "dependencies": {
    "@angular/animations": "9.0.7",
    "@angular/cdk": "9.1.3",
    "@angular/common": "9.0.7",
    "@angular/compiler": "9.0.7",
    "@angular/core": "9.0.7",
    "@angular/fire": "^5.2.3",
    "@angular/forms": "9.0.7",
    "@angular/material": "^9.1.3",
    "@angular/material-moment-adapter": "^9.2.0",
    "@angular/platform-browser": "9.0.0",
    "@angular/platform-browser-dynamic": "9.0.7",
    "@angular/platform-server": "9.0.7",
    "@angular/pwa": "^0.901.0",
    "@angular/router": "9.0.7",
    "@angular/service-worker": "9.0.7",
    "@kolkov/angular-editor": "^1.0.2",
    "@ngmodule/material-carousel": "^0.6.0",
    "@nguniversal/express-engine": "^9.1.0",
    "@ngx-translate/core": "^12.1.2",
    "@ngx-translate/http-loader": "^4.0.0",
    "@nicky-lenaers/ngx-scroll-to": "^3.0.1",
    "@squadette/hammerjs": "^2.1.0-pre3",
    "@types/core-js": "^2.5.3",
    "bootstrap": "^4.4.1",
    "compression": "^1.7.4",
    "core-js": "^3.6.4",
    "dotenv": "8.2.0",
    "express": "4.17.1",
    "firebase": "^7.6.1",
    "font-awesome": "^4.7.0",
    "hammerjs": "^2.0.8",
    "http-status-codes": "^1.4.0",
    "jwt-decode": "^2.2.0",
    "localstorage-polyfill": "^1.0.1",
    "m": "^1.5.6",
    "moment": "^2.24.0",
    "ngx-material-timepicker": "^5.3.0",
    "path": "^0.12.7",
    "rxjs": "~6.5.5",
    "subsink": "^1.0.0",
    "tslib": "^1.10.0",
    "zone.js": "^0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "0.900.7",
    "@angular/cli": "9.0.7",
    "@angular/compiler-cli": "9.0.7",
    "@angular/language-service": "9.0.7",
    "@nguniversal/builders": "9.0.2",
    "@types/express": "4.17.3",
    "@types/jasmine": "3.5.9",
    "@types/jasminewd2": "2.0.8",
    "@types/node": "13.9.2",
    "codelyzer": "^5.2.1",
    "enhanced-resolve": "^3.3.0",
    "jasmine-core": "3.5.0",
    "jasmine-spec-reporter": "4.2.1",
    "karma": "4.4.1",
    "karma-chrome-launcher": "3.1.0",
    "karma-coverage-istanbul-reporter": "2.1.1",
    "karma-jasmine": "3.0.1",
    "karma-jasmine-html-reporter": "1.5.2",
    "protractor": "5.4.3",
    "ts-loader": "^5.2.0",
    "ts-node": "8.7.0",
    "tslint": "6.1.0",
    "typescript": "3.7.5"
  }

Как исправить эту ошибку? Я использую angular таблицу материалов в основном с этими импортами:

import { MatPaginator } from '@angular/material/paginator';
import { MatSort } from '@angular/material/sort';
import { MatTableDataSource } from '@angular/material/table';

Не совпадает ли какая-либо из версий пакетов или другая проблема?

Ответы [ 3 ]

4 голосов
/ 06 апреля 2020

Использование npm install @ angular / cdk --save должно решить эту проблему.

2 голосов
/ 06 апреля 2020

Наткнулся на это тоже. Оказывается, пакеты как-то не синхронизированы в packages.json.

Убедитесь, что у вас установлена ​​последняя версия для всех: 9,20 для material пакетов:

"@angular/material": "^9.2.0",
"@angular/cdk": "^9.2.0",

Также обновите @angular пакетов до 9.1.0 (команда зависит от вашего менеджера пакетов).

1 голос
/ 06 апреля 2020

Важным примечанием является то, что большинство компонентов материалов теперь имеют отдельные пути, поэтому в случае, если ваш импорт выглядит как import {MatTableModule} from '@angular/material', вам следует изменить их на import {MatTableModule} from '@angular/material/table'; или import {CdkTableModule} from '@angular/cdk/table';

Поскольку я обновил проект до версии 9 я могу подтвердить, что остальные 3 импорта (

import { MatPaginator } from '@angular/material/paginator';
import { MatSort } from '@angular/material/sort';
import { MatTableDataSource } from '@angular/material/table';

) выглядят нормально.

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...