Der folgende Fehler trat nach dem Upgrade von @ angular / material 2.0.0-beta.11 auf 2.0.0-beta.12 auf:
Modul @ angular / material / material hat kein exportiertes Member 'MdButtonModule'.
Typescript-Code:
%Vor%Was ist passiert?
FEHLER in c: /dev/my-proj/src/app/app-material/app-material.module.ts (4,3): Modul '"c: / dev / my-proj / node_module / @ eckig / material / material"' hat keine exportierter Member 'MdButtonModule'. Fehler in c: /dev/my-proj/src/app/app-material/app-material.module.ts (5,3): Modul '"c: / dev / my-proj / node_module / @ eckig / material / material"' hat kein exportierter Member 'MdCardModule'. Fehler in c: /dev/my-proj/src/app/app-material/app-material.module.ts (6,3): Modul '"c: / dev / my-proj / node_module / @ eckig / material / material"' hat kein exportierter Member 'MdCheckboxModule'. Fehler in c: /dev/my-proj/src/app/app-material/app-material.module.ts (7,3): Modul '"c: / dev / my-proj / node_module / @ eckig / material / material"' hat kein exportierter Member 'MdIconModule'. Fehler in c: /dev/my-proj/src/app/app-material/app-material.module.ts (8,3): Modul '"c: / dev / my-proj / node_module / @ eckig / material / material"' hat kein exportierter Member 'MdOptionModule'. Fehler in c: /dev/my-proj/src/app/app-material/app-material.module.ts (9,3): Modul '"c: / dev / my-proj / node_module / @ eckig / material / material"' hat kein exportierter Member 'MdProgressSpinnerModule'. Fehler in c: /dev/my-proj/src/app/app-material/app-material.module.ts (10,3): Modul '"c: / dev / my-proj / node_module / @ eckig / material / material"' hat kein exportierter Member 'MdSelectModule'. Fehler in c: /dev/my-proj/src/app/app-material/app-material.module.ts (11,3): Modul '"c: / dev / my-proj / node_module / @ eckig / material / material"' hat kein exportierter Member 'MdSidenavModule'. Fehler in c: /dev/my-proj/src/app/app-material/app-material.module.ts (12,3): Modul '"c: / dev / my-proj / node_module / @ eckig / material / material"' hat kein exportierter Member 'MdToolbarModule'. Fehler in Fehler: MdButtonModule ist kein NgModule in _getNgModuleMetadata (c: \ dev \ mein-proj \ node_modules \ @angular \ compiler-cli \ src \ ngtools_impl.js: 140: 15) bei _extractLazyRoutesFromStaticModule (c: \ dev \ mein-proj \ node_modules \ @angular \ compiler-cli \ src \ ngtools_impl.js: 109: 26) unter c: \ dev \ mein-proj \ node_modules \ @angular \ compiler-cli \ src \ ngtools_impl.js: 129: 27 bei Array.reduce (nativ) um _extractLazyRoutesFromStaticModule (c: \ dev \ mein-proj \ node_modules \ @angular \ compiler-cli \ src \ ngtools_impl.js: 128: 10) unter c: \ dev \ mein-proj \ node_modules \ @angular \ compiler-cli \ src \ ngtools_impl.js: 129: 27 bei Array.reduce (nativ) um _extractLazyRoutesFromStaticModule (c: \ dev \ mein-proj \ node_modules \ @angular \ compiler-cli \ src \ ngtools_impl.js: 128: 10) bei Object.listLazyRoutesOfModule (c: \ dev \ mein-proj \ node_modules \ @angular \ compiler-cli \ src \ ngtools_impl.js: 53: 22) bei Function.NgTools_InternalApi_NG_2.listLazyRoutes (c: \ dev \ mein-proj \ node_modules \ @angular \ compiler-cli \ src \ ngtools_api.js: 91: 39) bei AotPlugin._getLazyRoutesFromNgtools (c: \ dev \ mein-proj \ node_modules \ @gttools \ webpack \ src \ plugin.js: 207: 44) an _donePromise.Promise.resolve.dann.dann.dann.und dann. (c: \ dev \ my-proj \ node_modules \ @gttools \ webpack \ src \ plugin.js: 443: 24)
Sie müssen MatButtonModule
anstelle von MdButtonModule
einfügen. Sie müssen auch das Präfix in Ihrer Vorlage aktualisieren, also md-button
sollte jetzt mat-button
sein. Befolgen Sie die Richtlinien in diesem Präfix-Updater , um das Präfix in Ihrer gesamten App zu aktualisieren / strong>.
Seit 2.0.0-beta.12
wurde das Md
Präfix entfernt und Sie sollten Mat
Präfix überall verwenden. Aus dem CHANGELOG von 2.0.0-beta.11
:
Für beta.11 haben wir beschlossen, das Präfix "md" abzulehnen komplett und benutze "mat" vorwärts bewegen. Dies betrifft alle Klassennamen, Eigenschaften, Eingaben, Ausgaben und Selektoren (CSS-Klassen wurden geändert zurück im Februar). Die Präfixe "md" werden in der nächsten Beta entfernt freilassen.
Und aus dem CHANGELOG von 2.0.0-beta.12
:
Brechen von Änderungen Alle "md" Präfixe wurden entfernt.
Siehe diese StackBlitz-Demo mit einzelnen Materialmodulen und mit Mat
Präfix.
Ersetzen Sie die Import-Anweisung durch
%Vor% Die MdSomethingModule
Namenskonvention wurde in der Beta.11 veraltet und in Beta.12 wurde es vollständig ersetzt durch MatSomethingModule
.
Vor Angular Material 2 Beta 3 gab es ein globales MaterialModule, das in das App-Modul importiert werden konnte, um die Komponenten verfügbar zu machen. Der Nachteil dabei ist, dass Baumschütteln nicht effizient genug ist, um den gesamten ungenutzten Code zu entfernen.
MaterialModule wurde daher zugunsten eines projektspezifischen Custom-Material-Moduls abgelehnt, bei dem nur die benötigten Komponenten importiert und exportiert werden. So kann Ihr Modul aussehen:
%Vor%Sie importieren dieses Modul dann in das Root-App-Modul.
Importieren Sie MaterialModule und fügen Sie es Ihren Importen hinzu. Außerdem müssen Sie die für Animationen in Ihrem Modul erforderlichen Elemente importieren. Ihr App-Modul (z. B. app.module.ts) sieht etwa so aus:
%Vor%Weitere Informationen zur Verwendung von eckigem Material finden Sie hier Ссылка
Verwenden Sie Mat anstelle von Md . Zum Beispiel
%Vor% hat funktioniert, aber import { MdButtonModule, MdCheckboxModule } from '@angular/material'
hat einen Fehler
Tags und Links angular angular-material angular-material2