2014-12-01 97 views
0

我試圖在Node.js服務器上運行我的ui5頁面。我迄今爲止所做的工作是使用一個簡單的index.html文件創建一個UI5項目,該文件調用我的其他ui5視圖來顯示文本消息。當我運行它沒有節點js它運行良好,並顯示我的消息。在節點JS服務器上運行UI5

我現在想實現的是在我的節點服務器上運行這個。所以我爲我的節點配置了一個server.js文件,它啓動正常。在那裏,我打電話給我的上面的index.html文件。它調用它很好,但它內部有一個錯誤,說sap是未定義的,這意味着它無法找到我的ui5資源,如sap-ui-core.js,從而導致錯誤。我不知道爲什麼它無法找到它。

我已經使用eclipse創建了ui5項目,它爲我提供了下面目錄下的ui5資源,但即使我嘗試將資源目錄置於web內容目錄下也無法找到它。

enter image description here

後手動將資源目錄:

enter image description here

下面是我的index.html的樣子:

enter image description here

有它得到的東西做我定義的資源根,或者如果你能建議如何c我得到它的工作。

熱切等待您的回覆。

感謝, AW

添加到cschuff響應:

您好,感謝您抽出寶貴時間來幫助我。是的,我的應用程序命名空間是不同的,絕對不是sap.ui。雖然我有辦法實現它的工作,但仍然希望得到這個工作以及它更乾淨。現在我的工作方式是完全創建一個單獨的節點項目,然後逐漸添加我的UI5作品,並通過上帝的恩典它現在運行良好。但我不知道爲什麼相同的概念,如果我申請在eclipse中創建的UI5項目,它給我sap是未定義的錯誤。

enter image description here

+0

您好所有,我看到的時候我嘗試運行index.html的外面節點的js它正試圖尋找其他的js文件SAP UI的目錄中爲此,它無法加載它們,導致拒絕訪問錯誤,但不知道爲什麼。那麼爲什麼它無法在節點js服務器上運行? – user3905218 2014-12-02 04:12:36

+0

網絡選項卡在嘗試加載sap-ui-core.js時會說什麼? – cschuff 2014-12-05 15:52:26

回答

0

我唯一的建議是你錯誤配置的node.js服務器。嘗試從頭開始:

mkdir app 
cd app 
npm install -g express-generator 
express -f 
npm install 
node .\bin\www 

不是把所有的項目的文件,並在resource目錄public。並嘗試打開http://localhost:3000/index.html

+0

我設置環境的方式是在eclipse中創建一個UI5項目,並使用簡單的index.html顯示一些文本。然後定義沒有任何依賴關係的package.json。然後我使用節點安裝--save express來安裝Express,定義了我的server.js並啓動了服務器。服務器啓動正常。單獨的部分工作正常,就像我的服務器啓動正常,預覽我的ui5索引調用UI5組件,並顯示文本正常工作,但是當我嘗試在節點服務器上調用相同的index.html時,它不會獲取資源。不知道爲什麼。請建議。 – user3905218 2014-12-02 22:41:55

0

/resources由com.sap.ui5.resource.ResourceServlet提供(請參閱您的web.xml; web.xml和Servlet在Java世界中使用,例如由Java Application Servers或Servlet像Tomcat這樣的容器)

ResourceServlet會在url-pattern/resources/*中偵聽每次請求發送到與此模式匹配的url時,ResourceServlet(Java類)將進入,查找正確的.jar文件並從中返回所需的JavaScript文件。這不適用於像Apache這樣的普通Web服務器。

我對Express沒有太多瞭解,但我想它無法運行Java Servlets,因此無法像Tomcat一樣提供SAPUI5資源。

要解決這一點,你仍然有一些選擇:

  1. 使用Express來從Tomcat在開發滿足您的應用程序源代碼,並加載UI5。這可能會導致交叉源問題(因爲localhost:8080和localhost:3000被認爲是不同的起源)

    < script src =「http:// locahost:8080/resources/sap-ui-core.js」。 ..

  2. 解壓所有需要的UI5 .jars,並將它們放在YourApplication/resources /中。

enter image description here

BR 克里斯

+0

嗨,我已經嘗試把js文件從web內容目錄下的jar文件解壓縮到資源文件夾中,如上面在我的屏幕截圖中所示。即使這樣,當我使用腳本標記路徑(如src =「resources/sap-ui-core.js」)將其中的腳本引用時,它也找不到它。 – user3905218 2014-12-03 20:25:45

+0

你絕對不應該使用sap.ui作爲你的應用程序的命名空間!你可以發佈什麼是你的/資源的截圖嗎?此外,查看開發工具的網絡標籤應該給你一個提示,試圖從中加載資源。發佈那個 – cschuff 2014-12-03 21:17:05

+0

這很可能是你的資源。嘗試使用不同的命名空間,如my.app。對不起,沒有正確閱讀你的問題;) – cschuff 2014-12-03 21:43:02