Angular материал Не удалось найти Angular Тема основного материала
В моем проекте Angular2 я устанавливаю последний плагин материала из https://material.angular.io/guide/getting-started. Затем я добавляю @import '[email protected]/material/prebuilt-themes/deeppurple-amber.css';
в мой файл css для моего компонента. Но в моей консоли Angular отображается эта ошибка:
material.es5.js: 148 Не удалось найти Angular Тема основного материала. Большинство компонентов материалов могут работать не так, как ожидалось. Для получения дополнительной информации обратитесь к руководству по тематике: https://material.angular.io/guide/theming`
Компоненты материала не работают.
Что не так?
Ответы
Ответ 1
Вставьте следующий код в style.css, который находится в папке src.
@import "../node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css";
Вы можете выбрать любой CSS в папке prebuilt-themes.
Сокращенная версия:
@import '[email protected]/material/prebuilt-themes/deeppurple-amber.css';
Ответ 2
Я начал работать со следующими шагами:
1) Импортируйте эту (или другую) материальную тему в основной файл css:
@import "../node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css";
2) Также обязательно зарегистрируйте этот основной файл css с файлом app.component
@Component({
selector: 'app',
styleUrls: [
'./app.component.css'
]
})
3) Дважды проверьте, что необходимые вам компоненты импортируются из @ angular/материала в ваш файл app.module
import { MdCardModule, MdInputModule } from '@angular/material';
Ответ 3
поместите этот код в ваш файл angular-cli.json
"styles": [
"../node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css"
],
Он отлично работает для меня
Ответ 4
Если это происходит во время тестирования с помощью Karma, добавьте следующий pattern
в список files
в ваш karma.config.js
файл.
module.exports = function (config) {
config.set({
basePath: '',
...,
files: [
{pattern: './node_modules/@angular/material/prebuilt-themes/indigo-pink.css', included: true, watched: true}
],
...
}
Подробнее см. здесь: https://www.bountysource.com/issues/44073085-a-testing-with-material-components-guide-to-demonstrate-including-core-theme-in-test-suite
Ответ 5
Если вы используете Angular -CLI, вам нужно будет сделать ссылку на файл тем, например. "candy.scss" в файле .angular-cli.json. Посмотрите внимательно, у вас есть *.scss? Это файл Sass. Посмотрите здесь информацию: Angular Материал 2 Инструкции по настройке. Итак, в .angular-cli.json, под свойством styles, добавьте "themes/candy.scss", рядом с "themes/styles.css". У меня есть папка в моих проектах под названием "темы". Я помещаю styles.css и candy.scss в папку тем. Теперь Angular -CLI может найти вашу тему.
Ответ 6
Добавлять:
@import "[email protected]/material/prebuilt-themes/indigo-pink.css"
на ваш style.css
Ответ 7
Добавьте следующую строку в ваш src/styles.css
@import '[email protected]/material/prebuilt-themes/deeppurple-amber.css';
Вы можете попробовать и другие классы Css. Вот доступные классы:
@import '[email protected]/material/prebuilt-themes/indigo-pink.css';
@import '[email protected]/material/prebuilt-themes/deeppurple-amber.css';
@import '[email protected]/material/prebuilt-themes/pink-bluegrey.css';
@import '[email protected]/material/prebuilt-themes/purple-green.css';
Ответ 8
В дополнение к операторам @import, как указано выше. Пожалуйста, убедитесь, что вы добавили
encapsulation: ViewEncapsulation.None внутри @Component decorator.
@Component({
selector: 'app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
encapsulation: ViewEncapsulation.None})
Если вы ищете Angular Настройка материала для .Net core 1.1 или 2.0 Angular Шаблон визуальной студии SPA. Пожалуйста, найдите подробные данные инструкции по настройке здесь.
Ответ 9
у меня работало добавление в css секции index.html
<link href="node_modules/@angular/material/prebuilt-themes/indigo-pink.css" rel="stylesheet">
Как уже упоминалось здесь
Ответ 10
Проверьте любые другие @imports в вашем файле CSS или SCSS. Я столкнулся с этой проблемой и не мог решить ее, пока не был удален другой импорт.
Ответ 11
Если вам нужны только значки материалов и вы не хотите импортировать весь материал CSS, используйте это в своем корневом CSS:
/** disable angular mat theme warning */
.mat-theme-loaded-marker {
display: none;
}
Ответ 12
Добавьте @import "[email protected]/material/prebuilt-themes/indigo-pink.css"; в style.css вашего angular проекта.
Если вам нужна другая тема, просто следуйте инструкциям:
Узловые модули → @angular → материал → prebuilt-themes ->
i)deeppurple-янтарный: @import "[email protected]/material/prebuilt-themes/deeppurple-amber.css
ii)индиго-розовый: @import "[email protected]/material/prebuilt-themes/indigo-pink.css
iii)розово-голубоватый: @import "[email protected]/material/prebuilt-themes/pink-bluegrey.css
iv)фиолетово-зеленый: @import "[email protected]/material/prebuilt-themes/purple-green.css
И если вы хотите прочитать, вы можете посетить:Тематическое приложение Angular Material