1

我的 qx 应用程序的源版本工作正常。我决定将它部署到服务器。我收到一个错误:

undefined is not a function.

我使用美化器将优化的 .js 文件转换为可读格式。然后我发现我的一些类名(Phonebook.EmployeeWindow 和其他)是未定义的。我尝试使用详细输出并看到一些奇怪的行为。一些输出如下:

  • 生成包
  • 编写脚本文件 Z:\home\phonebook_build.ru\www\JS\Phonebook\source\script\Phonebook.e8149a11a476.js
  • 生成加载器脚本
  • 编写脚本文件 Z:\home\phonebook_build.ru\www\JS\Phonebook\source\script\Phonebook.js

在我看来,脚本应该生成两个文件:loader 和“Phonebook.e8149a11a476.js”。在目标文件夹中只有一个文件:Phonebook.js。我在任何地方都找不到 Phonebook.e8149a11a476.js。也许我的类已经生成到 Phonebook.e8149a11a476.js,但是这个文件丢失了,这就是为什么我的所有类都未定义?这是正确的假设吗?如果是对的,为什么 qx 不生成这个额外的文件呢?

4

2 回答 2

1

在我看来,您想部署应用程序的源版本。这并不意味着要部署(但仅用于开发目的),因为它具有与您下载的 qooxdoo SDK 的相关链接。您应该生成的是一个构建版本 ( ./generate.py build),它是用来部署的,例如,它是自包含和优化/缩小的。

阅读更多关于source-*build工作:

于 2013-07-18T15:15:03.177 回答
0

至于 Phonebook.e8149a11a476.js 文件:

这样的文件通常是在源代码生成期间创建的,当生成器说它编写这样的文件时,它应该在你的 .../source/script 文件夹中。如果没有,您磁盘上的某些东西正在吃掉您的文件;-)。

但这与您的问题无关,因为在源版本中,这些散列文件仅包含资源信息(如图像尺寸等),但没有类代码。

于 2013-07-23T07:39:16.737 回答