Угловой 11 Я пытаюсь добавить "mat-card-content" из Angular Material в компонент HomePageComponent страницы. app.module.ts
import {MatCardModule} from '@angular/material/card';
@NgModule({
declarations: [
...
HomePageComponent
],
imports: [
BrowserModule,
...
MatCardModule
],
Здесь IDEA возвращает ошибку:
Class MatCardModule is not an Angular module
home-page-component.html
<div id = "home-page">
<mat-card-content>
<p>home-page works!</p>
</mat-card-content>
</div>
возвращает ошибку
Error: src/app/views/home-page/home-page.component.html:2:1 - error NG8001: 'mat-card-content' is not a known element:
1. If 'mat-card-content' is an Angular component, then verify that it is part of this module.
2. If 'mat-card-content' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
Возможно, проблема в несовместимости версий некоторых компонентов. Но я не могу найти информацию о том, какие компоненты с какими сочетаются.
Вот что я установил.
package.json
{
},
"private": true,
"dependencies": {
"@angular/animations": "^11.0.7",
"@angular/cdk": "^11.2.7",
"@angular/common": "~11.0.6",
"@angular/compiler": "~11.0.6",
"@angular/core": "~11.0.6",
"@angular/forms": "~11.0.6",
"@angular/material": "^11.2.4",
"@angular/platform-browser": "~11.0.6",
"@angular/platform-browser-dynamic": "~11.0.6",
"@angular/router": "~11.0.6",
"@types/intro.js": "^3.0.0",
"bootstrap-css-only": "^4.4.1",
"intro.js": "^3.4.0",
"ng-sidebar": "^9.4.2",
"ngx-device-detector": "^2.0.6",
"rxjs": "~6.6.0",
"tslib": "^2.0.0",
"zone.js": "~0.10.2"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.1100.6",
"@angular/cli": "~11.0.6",
"@angular/compiler-cli": "~11.0.6",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.11.1",
"codelyzer": "^6.0.0",
"jasmine-core": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "~5.1.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.0.3",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
"protractor": "~7.0.0",
"ts-node": "~8.3.0",
"tslint": "~6.1.0",
"typescript": "~4.0.2"
}
}





Остановите текущий запущенный экземпляр вашего приложения. Снова запустите ng build. Затем (повторно) запустите его с ng serve. Обычно компилятор распознает модуль. Это как-то связано с опережающим подходом к компиляции, начиная с Angular 9.
Попробуйте также перезапустить IDEA. Он также иногда борется с последними версиями Angular.
Что ж, теперь я понял. Ваша версия материала слишком новая по сравнению с другими вашими пакетами Angular. Попробуйте выяснить, существует ли версия Material 11.0.6 (или чуть ниже). Предполагается, что IDEA предложит вам все доступные версии, когда вы измените номер версии в package.json. Сделайте то же самое с вашей версией CDK.
вы можете изменить версию прямо в файле package.json? Я думал, что это нужно делать только с помощью команды npm i --save @ angular / material
Ты прав. Но ваша IDE умная. Вы можете редактировать номер версии, IntelliJ распознает это и предложит вам запустить npm install. В конце концов, это то же самое, но вы можете получить его более удобным способом. ?
Теперь при компиляции ошибок нет, но при открытии страницы выдается такое сообщение: «Версия Angular Material (11.0.4) не соответствует версии Angular CDK (11.2.7). Убедитесь, что версии этих двух пакетов точно совпадают ". Оказывается, вам нужно понизить версию CDK
Позвольте нам продолжить обсуждение в чате.
Извините, из-за Пасхи я не могу принять участие в чате. Вы тоже понизили версию CDK? Он находится прямо под Angular-Animations в разделе зависимостей вашего package.json.
IDEA также выдает ошибку. Я поправил вопрос