ng build —prod 失败但能够运行
Posted
技术标签:
【中文标题】ng build —prod 失败但能够运行【英文标题】:ng build —prod getting failed but able to run 【发布时间】:2019-12-29 07:47:16 【问题描述】:我是 Angular 环境的新手,我使用 Bootstrap 4 + Angular 材质创建了一个项目。我正在使用“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机器也有同样的问题
【问题讨论】:
请提供一些可能有用的代码 【参考方案1】:这可能是因为您没有在您的FeatureModule
中导入MatFormField
。如果您在任何子组件中使用<mat-form-field>
,请确保将其导入模块中。
import MatFormFieldModule from '@angular/material/form-field';
@NgModule(
declarations: [ ... ],
imports: [
CommonModule,
MatFormFieldModule,
...
]
)
export class FeatureModule
【讨论】:
以上是关于ng build —prod 失败但能够运行的主要内容,如果未能解决你的问题,请参考以下文章
当我尝试在 app-module 中导入 javascript 文件时,ng build --prod 失败
ionic cordova build --prod --release 失败并产生错误
Ionic V4 - Build Prod “找不到 cordova.js 脚本标签。插件加载可能失败。”
运行 ng build --prod 时无法读取未定义的属性“替换”
Angular 8:运行 ng build --prod --base-href './project1' 时访问资产文件夹