0

部署 angular2 应用程序后在 firebug 中出现此错误:app.js 中的“TypeError:this._nativeError is undefined”。

*app.js 是从 npm run build.prod.aot(以及 npm run build.prod)创建的 javascript。

应用程序在本地运行良好,它似乎只是在我部署到独立的 Web 服务器后给我带来了问题。我假设我在某处有一个小错字,但这个错误看起来很笼统,我找不到任何关于可能是什么原因的结论。

有没有人见过这个问题?或者知道如何缩小我的搜索范围?

编辑:使用这个种子项目:https ://github.com/mgechev/angular-seed但评论/答案表明尽管使用了其他启动器,但其他人遇到了问题

4

4 回答 4

3

在 compiler.umd.js 的第 1604 行附近,我添加了一个 console.log 来显示消息。

它是 Object.defineProperty(BaseError.prototype, "message" 定义的 set 函数的一部分。

setter 将消息分配给 _nativeError.message,但 _nativeError 是未定义的,因此,它被炸毁了,隐藏了 REAL 错误消息。

所以,我只是放了一个 console.log 来吐出正在传递的消息,它向我显示了我遇到的实际错误(模板错误)。

因此,这似乎是他们代码中的一个错误。

希望有帮助。

于 2017-01-13T22:56:24.850 回答
2

谢谢!!!对我来说,它只是简单地工作而无需卸载,而只是简单地安装: npm install zone.js@0.72 - 比 node_modules/zone.js/package.json 包含 _id 0.7.2 而不是 0.7.5 并且错误消息变得像以前一样漂亮

于 2017-01-16T09:52:23.907 回答
1

我有同样的错误:“TypeError:this._nativeError is undefined”,但我不使用角度种子。

我的堆栈跟踪:

.set
    assignAll
    ZoneAwareError
    BaseError
    SyntaxError
    CompileMetadataResolver.prototype._getDependenciesMetadata
    CompileMetadataResolver.prototype._getTypeMetadata
...

在 tsconfig.json 中设置:“emitDecoratorMetadata”:true 后错误被删除。

于 2017-01-13T21:39:31.107 回答
1

我有同样的问题和同样的信息。zone.js 版本 0.7.5 的一个已知问题是实际错误消息未正确显示 - 另请参见此处:zone.js 0.7.5 上的 Github 问题 首先我想,我有版本 0.7.2,因为包管理器向我展示了我有,但我尝试并使用 npm 卸载,然后安装了 0.7.2,现在我有一个漂亮的错误消息直接指出我的错误 :) 希望对你也有帮助。

于 2017-01-14T17:38:00.967 回答