错误@angular/material/index.d.ts' 不是模块。来自"@angular/材料";



我用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之前。现在这个模块不再存在了,取而代之的是你有很多专门的模块,如MatInputModuleMatCardModuleMatButtonModule......

这允许编译器更好地进行代码拆分,并且只保留必要的代码,从而使您的捆绑包更轻:)

在为app.module导入 mat 模块时尝试此操作。

import { MatInputModule, MatCardModule , MatButtonModule } from '@angular/material';

请确保将模块添加到app.module中的导入数组中

imports: [
MatInputModule,
MatCardModule,
MatButtonModule
],

最新更新