web-dev-qa-db-fra.com

Schéma "materialDashboard" introuvable dans la collection "@ angular / material"

J'essayais de créer un tableau de bord à l'aide de la commande suivante:

ng generate @angular/material:materialDashboard --name myDashboard

Lorsque j'ai exécuté la commande, cela a entraîné une erreur:

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)

Même moi, j'ai essayé d'autres commandes pour myTable et matNavbar

ng generate @angular/material:materialNavbar --name matNavbar
ng generate @angular/material:materialTable --name myTable

La même erreur s'est produite avec les deux commandes ci-dessus. Suis-je en train de manquer quelque chose?

15
Pankaj Parkar

L'enquête révèle que les alias de commandes pour la génération de materialShell, materialDashboard, materialNav et materialTable ont été supprimés de schematics/collection.json de @angular/material. Au contraire, lorsque vous l'utilisez, vous ne pouvez en utiliser que la forme d'un étui à kebab.

materialShell => material-Shell
materialDashboard => material-dashboard
materialNav => material-nav
materialTable => material-table

Valider ici

Donc, plutôt que d'utiliser une commande plus ancienne comme celle-ci

ng generate @angular/material:materialNav --name my-navbar

utilisation

ng generate @angular/material:material-nav --name my-navbar
47
Pankaj Parkar

Dans la documentation officielle

Installer les schémas

ng add @angular/material

Schémas de générateur

Schéma de navigation

ng generate @angular/material:material-nav --name <component-name>

Schéma du tableau de bord

ng generate @angular/material:material-dashboard --name <component-name>

Schéma de table

ng generate @angular/material:material-table --name <component-name>
6
Pier Nodoyuna

Vous pouvez l'installer en utilisant:
ng generate @angular/material:dashboard --name myDashboard

Pour les autres composants, ce sera:
ng generate @angular/material:nav --name myNav
ng generate @angular/material:table --name myTable

Informations sur les autres s
/node_modules/@angular/material/schematics/collection.json

3
Aleksey K.