在 ng build --prod am gettng 错误,“对象”类型上不存在属性“电子邮件”
Posted
技术标签:
【中文标题】在 ng build --prod am gettng 错误,“对象”类型上不存在属性“电子邮件”【英文标题】:on ng build --prod am gettng error,Property 'email' does not exist on type 'Object 【发布时间】:2018-08-29 07:23:54 【问题描述】:在 login.component.ts 中声明 loginObj 如下
public loginObj: Object =
email:'',
password:''
;
public registerObj: Object =
email:'',
name:'',
password:''
;
<input placeholder="" type="text" [(ngModel)]="loginObj.email" autofocus="true" required>
<input placeholder="" type="text" [(ngModel)]="loginObj.password" autofocus="true" required>
【问题讨论】:
将: Object
替换为: any
。
您可能会发现此答案有助于解释为什么您不能以这种方式使用 Object
***.com/questions/18961203/… 使用 object
或如下回答,创建一个具有唯一名称的界面
【参考方案1】:
错误是正确的,此属性不存在。你需要创建接口
export interface LoginObject
email:string;
password:string;
adn 然后将其导入您的组件并像这样声明您的对象
public loginObj: LoginObject =
email:'',
password:''
;
你甚至可以尝试像这样声明它
public loginObj: LoginObject;
它会为你工作
【讨论】:
谢谢,对我很有帮助。【参考方案2】:将类型设为 any 而非 Object 或定义接口并将其设为类型。
【讨论】:
【参考方案3】:我在 jenkins 中构建它时遇到了类似的错误。以下命令解决了这个问题:
npm install
npm run ng build --prod
希望对你有帮助
【讨论】:
我相信这个构建命令并没有进行生产构建,并且就像您正在运行仍然加载所有开发依赖项的“ng build”一样。 @RobDePietro 我认为你可能是对的。我在 GCP 云构建中运行了这个命令,果然我总是收到“Angular 正在开发模式下运行”控制台消息。【参考方案4】:尝试在你的 package.json 中添加这个依赖 "@angular/compiler-cli":"9.0.0(或你使用的其他版本)"
【讨论】:
以上是关于在 ng build --prod am gettng 错误,“对象”类型上不存在属性“电子邮件”的主要内容,如果未能解决你的问题,请参考以下文章
使用 ng build --prod 构建时出错。没有 --prod 标志和 ng serve 很好
运行 ng build --prod 时无法读取未定义的属性“替换”
在 ng build --prod 期间无法解析验证指令中的所有参数
Angular 8 - ng build prod 在 ng serve 工作时显示错误 - 模块导入的意外值“未定义”