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?
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
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
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>
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