我尝试将我的angular 2应用程序部署到heroku,但是当我尝试构建生产时,会出现一长串错误。我应该提一下,在ng服务上,应用程序运行没有问题和错误。 The list of errors is showed in attached photo
我找不到解决这个问题的方法。所有主要模块都更新到最新版本。谢谢
答案 0 :(得分:0)
我的猜测是,如果你要运行ng-serve --prod,你会得到同样的错误。如果未指定--prod,则会忽略许多不同的错误。
例如,如果没有--prod,它将编译并且不会警告您在指定的类型上未提及属性引用。现在如果你去改变那个对象类型来输入任何错误就会消失。
如果没有列出您的错误,我相信其中很多都是如上所述的简单错误。您可能需要返回并更新类型,以确保您在* .ts或* .html文件中引用的任何属性都添加到类定义中。
答案 1 :(得分:0)
前几行与您的属性/方法_centerMap
设置为private
的事实有关。如果您想在模板中使用属性/方法,则需要public
(我不确定protected
)。
行Property X does not exist on type 'Object'
很可能与您的类型相关。我认为与服务开发服务器相比,构建生产时类型检查更严格。我假设您的代码中有一个具有属性的对象,它看起来像这样:
public myObject: Object = {
fillColor: 'someValue',
// other properties
};
在这种情况下,类型检查失败,因为这些属性未在默认Object
上定义。要修复该错误,请同时删除所有类型或将其更改为以下内容:
public myObject: { fillColor: string } = {
fillColor: 'someValue',
// other properties
};
如果您在该对象中有很多属性,我建议您创建一个Interface
。
export default interface MyObject {
fillColor: string;
}
您可以这样使用:
import MyObject from '/path/to/the/interface';
public myObject: MyObject = {
fillColor: 'someValue',
// other properties
};
Property 'height' is private ...
错误与前几行相同 - 属性/方法设置为private
而不是public
。问题出在另一个文件中。