从Web服务器运行qooxdoo源版本

时间:2010-01-14 15:20:25

标签: javascript qooxdoo

我正在尝试从Web服务器运行qooxdoo应用程序的源版本。从文件系统加载时,应用程序正常工作,但从Web服务器启动时无法加载。

2 个答案:

答案 0 :(得分:4)

假设您在/usr/pack/qooxdoo-1.0/frontend中有qooxdoo框架,在/home/user/myproject中有您的应用程序。现在将符号链接添加到应用程序目录中,如下所示:

ln -s ../../../../../../../usr/pack/qooxdoo-1.0/frontend qooxdoo

config.json文件中设置QOOXDOO_PATHqooxdoo

这样,无论局部根的明显深度如何,对qooxdoo源的所有引用都应该有效。对于网络服务器,您可能必须允许FollowSymlink或适当的东西......

PS这种方法有一个很好的副作用,即通过\\server\user\myproject\source\index.html

启动Windows时,您的应用程序也可以正常工作

答案 1 :(得分:3)

源版本大部分时间都是从文件系统运行的(即在浏览器中使用文件:protocol打开它)。源脚本只引用具有相对路径的源代码和资源,无论它们恰好位于文件系统上。这通常不适合从Web服务器运行。即使您将应用程序的源目录包含在服务器可访问的路径中(从其DocumentRoot或其中一个定义的别名),可能是源脚本引用了Web服务器文档范围之外的文件。 / p>

因此,如果您发现自己需要从Web服务器运行应用程序的源版本,请注意以下提示:

  • 使Web服务器可以访问您的应用程序的源目录,以便可以通过http://your.web.server/path/to/yourapp/source/index.html这样的有效URL访问它。

  • 确保您的应用程序使用的所有组件(如qooxdoo SDK本身以及您使用的任何其他qooxdoo库或贡献)均可由Web服务器同等访问。

    • 如果在应用程序配置中通过contrib:// pseudo协议引用了contrib,则会将这些内容下载并存储在下载缓存目录(config key cache / downloads)中,因此请确保此路径包含在您的注意事项中
  • 确保Web服务器上的相对路径与文件系统上的相对路径匹配,例如:如果您的应用程序位于文件系统上   /a/b/A/myapp   你的qooxdoo安装在   /a/b/Z/qooxdoo-sdk   和您的应用程序的服务器路径是   /web/apps/myapp   然后确保qooxdoo的服务器路径是   /web/Z/qooxdoo-sdk   以便像../Z/qooxdoo-sdk will这样的相对引用在Web服务器下工作。

实现此目的的一种简单方法是将DocumentRoot或Alias映射到文件系统中的目录,该目录是应用程序所有涉及的qooxdoo组件的公共父目录。