Angular问题03 @angular/material版本问题

1 问题描述

  应用使用 angular4在使用@angular/material时,若果在导入模块时使用mat开头,就会报错。

2 问题原因

  @angular/material版本出现问题,@angular/material 从版本5开始就必须要angular5的核心依赖;想要在angular5之前版本中的应用中使用@angular/material,要么更改@angular/material的版本(降低版本),例如:cnpm i --save @angular/material@2.0.0-beta.7,要么更改@angular/core的版本(@angular/material的版本需要angular5支持时),例如:npm install @angular/core@x.x.x --save 或者修改 package.json 中的文件angular/core版本然后执行 npm install。

  坑01:不知道从哪个版本开始@angular/material中的模块名称的前缀从md改成了mat;修改之前@angular/material 模块的前缀必须是 md 开头的,例如:MdButtonModule;修改之后 @angular/material 模块的前缀必须是 mat 开头的,例如:MatButtonModule。

  技巧01:利用angular5创建项目,执行 npm install --save @angular/material 时就会下载对应的版本。

3 问题解决

  要么修改@angular/material版本,要么修改@angular/core版本