2012-02-17 15 views
1

有谁知道为什么我的“generate.py构建”工作得很好,但是当我运行“generate.py源”它不能找到: “http://localhost/qooxdoo-1.6 -sdk /框架/源极/类/ QX/Bootstrap.js非缓存= 0.39702596611879537"Qooxdoo源不工作,但建立

这是因为它应该是: http://localhost/ * 用户名/ *的Qooxdoo-1.6-SDK /框架/源极/类/ QX/Bootstrap.js?非缓存= 0.39702596611879537"

,但我找不到在哪里此设置。

我试着在config.json中编辑变量“QOOXDOO_PATH”,但那似乎不起作用。

请大家帮忙,谢谢!

回答

1

您不能只通过Web服务器运行源代码版本而不采取一些预防措施。生成器生成相对URI,在文件系统级别上很好地工作(即,当您在浏览器中使用file://协议打开您的应用程序时)。但是在Web服务器下相对路径不稳定。

举个简单的例子,如果你有一个文件/foo/bar/baz/index.html它引用../../bong/other.png,other.png将在文件系统上/foo/bong/找到。但是,如果您的计算机上的Web服务器的DocumentRoot为/foo/bar/,则加载index.html的URL为http://localhost/baz/index.html,而上述相关参考超出了Web服务器的根目录并且会导致错误。使这项工作

的一种方法是,以确保您的Web服务器的DocumentRoot是上述您的应用程序使用(即你的应用程序本身的所有参与图书馆,的Qooxdoo SDK,其他的lib /贡献的根目录你正在使用等)。有关更全面的解释,请参阅here

不要随意使用QOOXDOO_PATH,因为这是查找框架类并首先构建应用程序所必需的。

+0

谢谢你,那是我的问题!我正在网络服务器上用web根目录下的qooxdoo文件构建源代码。那个链接真的很有用!再次感谢您的帮助! – Jonathan 2012-02-19 19:44:07

+0

虽然这当然是事实,但正如乔纳森向我们展示他构建的版本,他应该真的在将构建目录部署到他的Web服务器上,正如您提供的链接ThomasH所述。感谢那。 – 2012-04-13 00:28:20

+0

是的,但出于各种原因,人们希望通过Web服务器运行其源代码版本也是可以理解的愿望。也许qooxdoo应该使这种情况更易于接近和“主流”。 – ThomasH 2012-04-16 08:46:41

0

确保设置源位置,当您使用相对路径:

../../../../../../../../home/*user*/qooxdoo-1.6-sdk 

如果您正在使用perl的工作,我会建议使用的魔力绑定http://qooxdoo.org/contrib/project/rpcperl-mojo它们允许你同时运行构建和源代码版本通过内置的网络服务器,照顾所有的路径魔术。