Javascript 从Web服务器运行qooxdoo源版本

Javascript 从Web服务器运行qooxdoo源版本,javascript,qooxdoo,Javascript,Qooxdoo,我正在尝试从web服务器运行qooxdoo应用程序的源版本。从文件系统加载时,应用程序工作正常,但从web服务器启动时,应用程序无法加载。大多数情况下,源版本都是从文件系统运行的(即,在浏览器中使用file:protocol打开它)。无论源代码和资源在文件系统中的什么位置,源脚本都只引用它们的相对路径。这通常不适合从web服务器运行。即使将应用程序的源目录包含在服务器可访问的路径中(从其DocumentRoot或某个定义的别名开始),源脚本也有可能引用web服务器文档范围之外的文件 因此,如果您

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

大多数情况下,源版本都是从文件系统运行的(即,在浏览器中使用file:protocol打开它)。无论源代码和资源在文件系统中的什么位置,源脚本都只引用它们的相对路径。这通常不适合从web服务器运行。即使将应用程序的源目录包含在服务器可访问的路径中(从其DocumentRoot或某个定义的别名开始),源脚本也有可能引用web服务器文档范围之外的文件

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

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

  • 确保您的应用程序使用的所有组件,如qooxdoo SDK本身,以及您使用的任何其他qooxdoo库或贡献,都可以被web服务器平等地访问

    • 对于通过应用程序配置中的contrib://伪协议引用的contrib,这些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这样的相对引用将在web服务器下工作


实现这一点的一个简单方法是将DocumentRoot或别名映射到文件系统中的一个目录,该目录是应用程序中所有相关qooxdoo组件的公共父目录。

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

ln -s ../../../../../../../usr/pack/qooxdoo-1.0/frontend qooxdoo
config.json
文件中,将
QOOXDOO\u路径设置为
QOOXDOO

这样,所有对qooxdoo源的引用都应该工作,而不管本地根的表面深度如何。对于Web服务器,您可能必须允许FollowSymlink或其他适当的

PS这种方法的副作用是,通过
\\server\user\myproject\source\index.html