错误:@ angular/material/material没有导出成员'MdButtonModule'

Fre*_*ing 11 angular-material angular-material2 angular

从@ angular/material 2.0.0-beta.11升级2.0.0-beta.12之后出现以下错误:

模块@ angular/material/material没有导出成员'MdButtonModule'.

打字稿代码:

import { MdButtonModule } from '@angular/material';
Run Code Online (Sandbox Code Playgroud)

发生了什么?

错误在c:/dev/my-proj/src/app/app-material/app-material.module.ts(4,3):模块'"c:/ dev/my-proj/node_modules/@ angular/material/material"'没有导出成员'MdButtonModule'.ERROR在C:/dev/my-proj/src/app/app-material/app-material.module.ts(5,3):模块""C:的/ dev /我的-PROJ/node_modules/@角/材料/ material"'没有导出成员'MdCardModule'.ERROR在C:/dev/my-proj/src/app/app-material/app-material.module.ts(6,3):模块""C:的/ dev /我的-PROJ/node_modules/@角/材料/ material"'没有导出成员'MdCheckboxModule'.错误在c:/dev/my-proj/src/app/app-material/app-material.module.ts(7,3):模块'"c:/ dev/my-proj/node_modules/@ angular/material/material"'没有导出成员'MdIconModule'.错误在c:/dev/my-proj/src/app/app-material/app-material.module.ts(8,3):模块'"c:/ dev/my-proj/node_modules/@ angular/material/material"'没有导出成员'MdOptionModule'.ERROR在C:/dev/my-proj/src/app/app-material/app-material.module.ts(9,3):模块""C:的/ dev /我的-PROJ/node_modules/@角/材料/ material"'没有导出成员'MdProgressSpinnerModule'.错误在c:/dev/my-proj/src/app/app-material/app-material.module.ts(10,3):模块'"c:/ dev/my-proj/node_modules/@ angular/material/material"'没有导出成员'MdSelectModule'.错误在c:/dev/my-proj/src/app/app-material/app-material.module.ts(11,3):模块'"c:/ dev/my-proj/node_modules/@ angular/material/material"'没有导出成员'MdSidenavModule'.错误在c:/dev/my-proj/src/app/app-material/app-material.module.ts(12,3):模块'"c:/ dev/my-proj/node_modules/@ angular/material/material"'没有导出成员'MdToolbarModule'.错误中的错误:MdButtonModule不是_getNgModuleMetadata(c:\ dev\my-proj \node_modules\@angular\compiler-cli\src \ngtools_impl.js:140:15)中的NgModule,位于_extractLazyRoutesFromStaticModule(c:\ dev\my-凸出\node_modules\@angular \编译器,CLI的\ src \ngtools_impl.js:109:26),在C:\ dev的\ MY-凸出\node_modules\@angular \编译器,CLI的\ src \ngtools_impl.js:129:27在Array.reduce(天然)在_extractLazyRoutesFromStaticModule(C:\ dev的\ MY-PROJ \node_modules\@angular \编译-CLI\SRC \ngtools_impl.js:128:10),在C:\ dev的\ MY-PROJ \node_modules\@在\ _extractLazyRoutesFromStaticModule(c:\ dev\my-proj \node_modules\@angular\compiler-cli\src \ngtools_impl.js:128)的Array.reduce(native)处的angular\compiler-cli\src \ngtools_impl.js:129:27 :10)在Function.NgTools_InternalApi_NG_2.listLazyRoutes(c:\ dev\my-)的Object.listLazyRoutesOfModule(c:\ dev\my-proj \node_modules\@angular\compiler-cli\src \ngtools_impl.js:53:22) proj \node_modules\@angular\compiler-cli\src \ngtools_api.js:91:39)at AotPlugin._getLazyRoutesFromNgtools(c:\ dev)\我-PROJ \node_modules\@ngtools \的WebPack\SRC\plugin.js:207:44)在_donePromise.Promise.resolve.then.then.then.then.then(C:\ dev的\ MY-PROJ \node_modules\@ngtools \的WebPack\SRC\plugin.js:443:24)

Fai*_*sal 11

你必须包括MatButtonModule而不是MdButtonModule.您还必须更新模板中的前缀,即md-button现在应该更新mat-button.要更新整个应用程序中的前缀,请遵循此前缀更新程序中的准则.

由于2.0.0-beta.12Md前缀已被删除,你应该使用Mat无处不在的前缀.从更新日志2.0.0-beta.11:

对于beta.11,我们已决定完全弃用"md"前缀并使用"mat"向前移动.这会影响所有类名,属性,输入,输出和选择器(CSS类在2月份已更改)."md"前缀将在下一个测试版中删除.

而来自CHANGELOG2.0.0-beta.12:

重大变化 所有"md"前缀都已删除.

请参阅此工作StackBlitz演示与单个材料模块和使用Mat前缀.


eko*_*eko 5

适用于角材v9及以上

他们将导入从@angular/material符号更改为@angular/material/button类似符号。

您应该从特定组件深度导入,而不是从 @angular/material 导入。例如@角度/材料/按钮。ng update会自动为您完成此操作。

前:

import { MatButtonModule } from '@angular/material';
Run Code Online (Sandbox Code Playgroud)

后:

import { MatButtonModule } from '@angular/material/button';
Run Code Online (Sandbox Code Playgroud)

您可以通过以下链接按照升级指南进行操作: https://update.angular.io/ ?v=8.0-9.0


Fre*_*ing 3

将导入指令替换为

import { MatButtonModule } from '@angular/material';
Run Code Online (Sandbox Code Playgroud)

命名MdSomethingModule约定在 beta.11 中已被弃用,在 beta.12 中它被完全替换MatSomethingModule