我有一个要部署到 Google App Engine 的 Google Web Toolkit 应用程序。在部署的应用程序中,我收到一个 JavaScript 错误Uncaught TypeError: Cannot read property 'f' of null
。这听起来像是 Java NullPointerException 的 JavaScript 等价物。
问题是 GWT JavaScript 被混淆了,因此无法在浏览器中进行调试,并且我无法在可以使用 Java 调试器的托管模式下重现相同的问题。我认为我只在部署的应用程序上看到错误的原因是我在 GAE 服务器上使用的数据库触发的东西与我在测试和开发期间使用的测试数据库不同。
那么,关于最佳方式的任何想法?我想到了以下几点:
- 部署我的应用程序的非混淆版本。尽管有很多谷歌搜索,但我不知道如何使用 Google Eclipse 插件提供的自动部署脚本来做到这一点。有人知道吗?
- 下载并复制我的 GAE 数据到本地服务器
- 不知何故,我的开发代码使用 GAE 服务器而不是本地测试数据库来获取数据。这似乎是最好的主意...
谁能建议如何在这里进行?
最后,有没有办法在生产服务器上捕获这些 JavaScript 错误并将它们记录在某个地方?如果没有日志记录,我无论如何都不会知道我的用户是否遇到了服务器上没有发生的错误。GWT.log() 函数会自动从生产代码中剥离出来......