0

我是 Angular 环境的新手,并使用 Bootstrap 4 + angular material 创建了一个项目。我正在使用“material.module.ts”来导入-导出所有必需的材料组件。

当我使用“ ng serve ”命令运行应用程序时,它没有显示任何错误并且运行顺利。当我使用--aot参数构建或为生产构建(ng build --prod)时,它会给出错误:

    ERROR in Illegal State: referring to a type without a variable {"filePath":"D:/ff/node_modules/@angular/material/form-field/typings/index.d.ts","name":"MatFormField","members":[]} 

使用 --prod 参数的角度构建失败但能够运行应用程序

以下是ng --version的输出:

    Angular CLI: 8.3.0
    Node: 12.7.0
    OS: win32 x64
    Angular: 8.2.3
    ... animations, common, compiler, compiler-cli, core, forms
    ... language-service, platform-browser, platform-browser-dynamic
    ... router

    Package                           Version
    -----------------------------------------------------------
    @angular-devkit/architect         0.803.0
    @angular-devkit/build-angular     0.802.2
    @angular-devkit/build-optimizer   0.802.2
    @angular-devkit/build-webpack     0.802.2
    @angular-devkit/core              8.3.0
    @angular-devkit/schematics        8.3.0
    @angular/cdk                      8.1.3
    @angular/cli                      8.3.0
    @angular/material                 8.1.3
    @ngtools/webpack                  8.2.2
    @schematics/angular               8.3.0
    @schematics/update                0.803.0
    rxjs                              6.4.0
    typescript                        3.5.3
    webpack  

我尝试了 npm update、npm audit fix、ng update.. 但都没有解决问题。我的mac和windows机器也有同样的问题

4

1 回答 1

0

这可能是因为您尚未MatFormFieldFeatureModule. 如果您<mat-form-field>在任何子组件中使用,请确保将其导入到模块中。

import { MatFormFieldModule } from '@angular/material/form-field';

@NgModule({
    declarations: [ ... ],
    imports: [
        CommonModule,
        MatFormFieldModule,
        ...    
    ]
})
export class FeatureModule { }
于 2019-10-28T18:48:56.770 回答