如何生成ready-for-web-server源?

时间:2016-02-01 21:01:01

标签: qooxdoo

我正在尝试找到一种生成(使用generate.py source-all)应用程序代码的方法,该代码已准备好从Web服务器(例如Tomcat)运行。 阻止我这样做的唯一原因是myapp.js在libinfo对象中包含文件系统URI:

var libinfo = {
  "__out__":{"sourceUri":"script"},
  "myapp":{"resourceUri":"../source/resource","sourceUri":"../source/class"},
  "qx":{
    "resourceUri":"file:///C:/dev/qooxdoo-5.0.1-sdk/framework/source/resource",
    "sourceUri":"file:///C:/dev/qooxdoo-5.0.1-sdk/framework/source/class",
    "sourceViewUri":"https://github.com/qooxdoo/qooxdoo/blob/%{qxGitBranch}/framework/source/class/%{classFilePath}#L%{lineNumber}"
  }
};

当我手动更改resourceUri&来自

的sourceUri
file:///C:/dev/qooxdoo-5.0.1-sdk/framework/source/...

/myapp/qooxdoo-5.0.1-sdk/framework/source/...

应用程序页面在浏览器中成功加载所有依赖项(生成的源已经在文档根目录中,并且“qooxdoo-5.0.1-sdk”框架内容由于映射/myapp/qooxdoo-5.0.1-sdk而加载=> C:\ Dev \ qooxdoo-5.0.1-sdk在服务器上设置。)

有没有办法告诉generate.py我的SDK框架文件应该通过URL(/myapp/qooxdoo-5.0.1-sdk / ...)而不是文件系统URI来访问?

(我可以看到有很多“编译选项”可以在config.json中指定(qooxdoo文档版本5.1:第11.3.3节 - 生成器配置键),但看起来没有一个能解决问题)

1 个答案:

答案 0 :(得分:0)

在你的config.json中,你将有一个“jobs”部分,其中包含一个“库”部分,包含一个“库”数组 - 你的应用程序是一个库,Qooxdoo就像任何贡献一样,所以它看起来像这样:

"jobs" : {
    "libraries" : {
        "=library" : [ {
            "manifest" : "${QOOXDOO_PATH}/framework/Manifest.json"
        }, {
            "manifest" : "Manifest.json"
        }
    },

每个“库”对象都可以有一个“uri”属性,所以对于你的例子,你可能想要这样的东西:

"jobs" : {
    "libraries" : {
        "=library" : [ {
            "manifest" : "${QOOXDOO_PATH}/framework/Manifest.json",
            "uri" : "/some/other/uri/qooxdoo-5.0.1-sdk"
        }, {
            "manifest" : "Manifest.json"
        }
    },

然后在您的Web服务器上,正确定位qooxdoo-5.0.1-sdk目录或创建映射到它。