Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度2:ng构建——ng serve运行时无错误时的产品错误_Angular_Heroku - Fatal编程技术网

Angular 角度2:ng构建——ng serve运行时无错误时的产品错误

Angular 角度2:ng构建——ng serve运行时无错误时的产品错误,angular,heroku,Angular,Heroku,我尝试将angular 2应用程序部署到heroku,但当我尝试为生产构建时,出现了一长串错误。我应该提到的是,在ng serve上,应用程序运行时没有出现问题和错误。 我恐怕找不到解决这个问题的办法。所有主要模块均更新至最新版本。谢谢我的猜测是,如果您运行ng serve--prod,您将得到相同的错误。当不指定--prod时,会忽略许多不同的错误 例如,如果没有--prod,它将编译并不会警告您指定的类型中没有提到正在引用的属性。现在,如果您将该对象类型更改为任何类型,那么错误就会消失 如

我尝试将angular 2应用程序部署到heroku,但当我尝试为生产构建时,出现了一长串错误。我应该提到的是,在ng serve上,应用程序运行时没有出现问题和错误。


我恐怕找不到解决这个问题的办法。所有主要模块均更新至最新版本。谢谢

我的猜测是,如果您运行ng serve--prod,您将得到相同的错误。当不指定--prod时,会忽略许多不同的错误

例如,如果没有--prod,它将编译并不会警告您指定的类型中没有提到正在引用的属性。现在,如果您将该对象类型更改为任何类型,那么错误就会消失


如果这里没有列出您的错误,我相信其中许多都是上面提到的简单错误。您可能需要返回并更新类型,以确保在*.ts或*.html文件中引用的任何属性都添加到类定义中。

前几行与属性/方法
\u centerMap
设置为
private
相关。如果要在模板中使用属性/方法,它必须是
公共的
(我不确定是否受
保护

类型“Object”上不存在属性X的行。很可能与您的类型相关。我认为,与为开发服务器服务相比,为生产环境构建时,类型检查更加严格。我假设在代码的某个地方有一个具有属性的对象,它看起来像这样:

public myObject: Object = {
    fillColor: 'someValue',
    // other properties
};
public myObject: { fillColor: string } = {
    fillColor: 'someValue',
    // other properties
};
import MyObject from '/path/to/the/interface';

public myObject: MyObject = {
    fillColor: 'someValue',
    // other properties
};
在这种情况下,类型检查失败,因为这些属性没有在默认的
对象上定义。若要修复该错误,请一起删除该类型,或将其更改为类似以下内容:

public myObject: Object = {
    fillColor: 'someValue',
    // other properties
};
public myObject: { fillColor: string } = {
    fillColor: 'someValue',
    // other properties
};
import MyObject from '/path/to/the/interface';

public myObject: MyObject = {
    fillColor: 'someValue',
    // other properties
};
如果该对象中有很多属性,我建议创建一个
接口

export default interface MyObject {
    fillColor: string;
}
您可以这样使用:

public myObject: Object = {
    fillColor: 'someValue',
    // other properties
};
public myObject: { fillColor: string } = {
    fillColor: 'someValue',
    // other properties
};
import MyObject from '/path/to/the/interface';

public myObject: MyObject = {
    fillColor: 'someValue',
    // other properties
};

属性“height”是private…
错误与前几行相同-属性/方法设置为
private
而不是
public
。问题只是在另一个文件中。

请确保从模板访问的组件属性是公开的。
。您完全正确!你提供的答案解决了我的问题。首先,我认为这些错误与模块之间的一些不兼容有关,因为错误不会出现一些变化,在我使用ng serve时也不会出现。后来,我了解到ng serve跳过了一些“生产模式”错误,让应用程序运行。谢谢你,我希望你的回答,也能帮助别人