2016-02-01 80 views
0

我試圖找到一種方法來產生(與generate.py源全部)應用程序代碼是準備從網絡服務器(例如Tomcat)的運行。 是阻止我這樣做的唯一的事情就是myapp.js包含文件系統的URI在libinfo對象的事實:如何生成準備就緒的Web服務器源?

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:\開發\的Qooxdoo-5.0.1-SDK設置在服務器上)。

有沒有辦法告訴generate.py我的SDK框架文件應該通過URL(/myapp/qooxdoo-5.0.1-sdk/...)而不是文件系統URI來訪問?

(我可以看到有一些可以在config.json中指定的「編譯選項」(qooxdoo Documentation Release 5.1:章節11.3.3 - Generator Config Keys),但看起來像沒有一個解決了問題)

回答

0

在你config.json你將有一個包含「庫」部分中的「工作」部分,包含「庫」陣列 - 你的應用程序是一個庫,是的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目錄或創建映射。

+0

對不起,我就離開試驗的Qooxdoo所以我無法驗證你的答案。謝謝,不過。 – GoranM