Схема "materialDashboard" не найдена в коллекции "@angular/material"
Я пытался создать панель управления, используя следующую команду:
ng generate @angular/material:materialDashboard --name myDashboard
Когда я выполнил команду, это привело к ошибке:
Schematic "materialDashboard" not found in collection
"@angular/material". Error: Schematic "materialDashboard" not found in
collection "@angular/material".
at SchematicEngine.createSchematic (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular-devkit/schematics/src/engine/engine.js:155:23)
at CollectionImpl.createSchematic (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular-devkit/schematics/src/engine/collection.js:12:29)
at Object.getSchematic (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular/cli/utilities/schematics.js:36:23)
at GenerateCommand.getOptions (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular/cli/models/schematic-command.js:194:40)
at GenerateCommand.<anonymous> (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular/cli/commands/generate.js:38:53)
at Generator.next (<anonymous>)
at /Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular/cli/commands/generate.js:7:71
at new Promise (<anonymous>)
at __awaiter (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular/cli/commands/generate.js:3:12)
at GenerateCommand.initialize (/Users/xyx/Desktop/Git/question-authoring-platform/node_modules/@angular/cli/commands/generate.js:30:16)
Даже я пробовал другие команды для myTable
и matNavbar
ng generate @angular/material:materialNavbar --name matNavbar
ng generate @angular/material:materialTable --name myTable
Такая же ошибка произошла с двумя вышеуказанными командами. Я что-то пропустил?
Ответы
Ответ 1
Расследование выясняется, что команды aliases для генерации materialShell
, materialDashboard
, materialNav
и materialTable
были удалены из schematics/collection.json
of @angular/material
. Скорее, используя его, вы можете использовать их только в форме кебаба.
materialShell => material-shell
materialDashboard => material-dashboard
materialNav => material-nav
materialTable => material-table
Commit Here
Поэтому вместо использования старой команды, подобной этой
ng generate @angular/material:materialNav --name my-navbar
использование
ng generate @angular/material:material-nav --name my-navbar
Ответ 2
В официальной документации
Установка схемы
ng add @angular/material
Схемы генераторов
Схема навигации
ng generate @angular/material:material-nav --name <component-name>
Схема приборной панели
ng generate @angular/material:material-dashboard --name <component-name>
Схема таблицы
ng generate @angular/material:material-table --name <component-name>
Ответ 3
Вы можете установить его, используя:
ng generate @angular/material:dashboard --name myDashboard
Для других компонентов это будет:
ng generate @angular/material:nav --name myNav
ng generate @angular/material:table --name myTable
Информация о других
/node_modules/@angular/material/schematics/collection.json