我用ng add @angular/material
安装了角度材料
然后我在app.module.ts文件中编写了以下代码
import {MatInputModule,MatCardModule,MatButtonModule} from'@angular/material';
然后我遇到了以下错误。src/app/app.module.ts:14:8 中的错误 - 错误 TS2306:文件"D:/Develop/Angular/brightway-app/node_modules/@angular/material/index.d.ts"不是模块。 14 } 来自 '@angular/材料';
相反,在代码上方,我使用了
import { MatInputModule } from "@angular/material/input";
import { MatCardModule } from '@angular/material/card';
import { MatButtonModule} from '@angular/material/button';
它成功地工作了。
我遇到第一个代码问题的原因是什么?你能澄清一下吗?
@angular/材质更改了其文件夹结构
起初index.d.ts
所有模块都有导出语句,现在它没有
在以前的版本中,您可以在位置..node_modules/@angular/material
(即用于服务器模块(看到几个d.ts
文件,这些文件用于从各自的文件夹(如export * from './button/index';
(导入模块,我们只是用来导入此文件
但是现在这些文件已移动到各自的文件夹(即按钮文件夹内(。因此,现在我们需要从各自的文件夹中导入
你可以在这里检查@angular/材料的源代码(并看到根目录中没有模块,这会导致你的错误(。
这只是一个猜测,但根据您的错误,我假设他们将大材料模块分成较小的模块。
在你有一个包含所有内容的MaterialModule
之前。现在这个模块不再存在了,取而代之的是你有很多专门的模块,如MatInputModule
、MatCardModule
、MatButtonModule
......
这允许编译器更好地进行代码拆分,并且只保留必要的代码,从而使您的捆绑包更轻:)
在为app.module导入 mat 模块时尝试此操作。
import { MatInputModule, MatCardModule , MatButtonModule } from '@angular/material';
请确保将模块添加到app.module中的导入数组中
imports: [
MatInputModule,
MatCardModule,
MatButtonModule
],