Обновление Angular Материал с 8.2.3 до 9.2.4 сломало мое приложение - PullRequest
1 голос
/ 17 июня 2020

Я обновил angular материал с 8.2.3 до 9.2.4, но теперь у меня много ошибок, связанных с импортом.

    import {MatToolbarModule, MatSidenavModule, MatIconModule, MatButtonModule, MatDialogModule, MatDividerModule,
  MatInputModule, MatFormFieldModule, MatCheckboxModule, MatExpansionModule, MatCardModule, MatSelectModule, 
  MatDatepickerModule, MatNativeDateModule, MatSnackBarModule, MatProgressSpinnerModule, MatTabsModule,
  MatChipsModule, MatListModule, MatTooltipModule, MatBottomSheetModule, MatAutocompleteModule,MatRadioModule, MatProgressBarModule} from '@angular/material';

Ошибка: File 'c:/Proyectos/LIMSp/node_modules/@angular/material/index.d.ts' is not a module.ts(2306)

Я пробовал импортировать один за другим, как в документации, но это не сработало.

import {MatToolbarModule} from '@angular/material/toolbar'

Ошибка: Module '"../../../node_modules/@angular/material/toolbar"' has no exported member 'MatToolbarModule'.ts(2305)

Это мой пакет. json:

{
  "name": "sasin",
  "version": "0.0.0",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e",
    "dev": "nodemon --watch  server.js"
  },
  "private": true,
  "dependencies": {
    "@ag-grid-community/angular": "^22.1.2",
    "@ag-grid-community/core": "^22.1.1",
    "@angular/animations": "^9.1.11",
    "@angular/cdk": "^9.2.4",
    "@angular/common": "~9.1.11",
    "@angular/compiler": "~9.1.11",
    "@angular/core": "~9.1.11",
    "@angular/flex-layout": "^9.0.0-beta.29",
    "@angular/forms": "~9.1.11",
    "@angular/localize": "^9.1.11",
    "@angular/material": "^9.2.4",
    "@angular/material-moment-adapter": "^9.2.4",
    "@angular/platform-browser": "~9.1.11",
    "@angular/platform-browser-dynamic": "~9.1.11",
    "@angular/router": "~9.1.11",
    "@ng-bootstrap/ng-bootstrap": "^5.2.1",
    "@ng-bootstrap/schematics": "^2.0.0-alpha.1",
    "ag-grid-angular": "^22.1.1",
    "ag-grid-community": "^22.1.1",
    "bcrypt": "^3.0.8",
    "body-parser": "^1.19.0",
    "bootstrap": "^4.4.1",
    "es-abstract": "^1.17.4",
    "file-saver": "^2.0.2",
    "jquery": "^3.4.1",
    "jsonwebtoken": "^8.5.1",
    "jwt-decode": "^2.2.0",
    "moment": "^2.24.0",
    "mongodb": "^3.5.2",
    "mongoose": "^5.8.11",
    "mongoose-unique-validator": "^2.0.3",
    "multer": "^1.4.2",
    "node-pre-gyp": "^0.14.0",
    "popper.js": "^1.16.1",
    "rxjs": "~6.5.4",
    "tslib": "^1.10.0",
    "zone.js": "~0.10.3"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.901.8",
    "@angular/cli": "^9.1.8",
    "@angular/compiler-cli": "~9.1.11",
    "@angular/language-service": "~9.1.11",
    "@types/jasmine": "~3.5.3",
    "@types/jasminewd2": "~2.0.8",
    "@types/node": "~13.7.0",
    "codelyzer": "^5.2.1",
    "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.1.0",
    "karma-jasmine-html-reporter": "^1.5.2",
    "nodemon": "^2.0.2",
    "protractor": "~5.4.3",
    "ts-node": "~8.6.2",
    "tslint": "~6.0.0",
    "typescript": "~3.7.5"
  }
}

Я искал inte rnet и не могу найти других людей с этой проблемой. Я прочитал документацию по материалам angular, но ничего не говорит о том, как обновить. Что мне не хватает ???

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Попробуйте удалить папку node_modules и снова установить все пакеты, кроме того, вам необходимо импортировать, как указано в документации. Для Angular Материал 9 необходимо использовать индивидуальный импорт по пакету.

Неправильный способ.

import {
  MatToolbarModule, MatSidenavModule, MatIconModule, MatButtonModule, MatDialogModule, MatDividerModule,
  MatInputModule, MatFormFieldModule, MatCheckboxModule, MatExpansionModule, MatCardModule, MatSelectModule, 
  MatDatepickerModule, MatNativeDateModule, MatSnackBarModule, MatProgressSpinnerModule, MatTabsModule,
  MatChipsModule, MatListModule, MatTooltipModule, MatBottomSheetModule, MatAutocompleteModule,MatRadioModule, MatProgressBarModule
} from '@angular/material';

Правильный способ.

import {MatToolbarModule} from '@angular/material/toolbar'
0 голосов
/ 17 июня 2020

Вместо использования простого ng update, если вы используете как ng update --all, он позаботится об обновлении всей зависимости, а также ее зависимости

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