2014-10-07 61 views
2

我們爲桌面和平板電腦構建了一個node.js應用程序。這是完全基於Web的應用程序。現在我打算使用Apache cordovaandroid中實現與原生應用程序相同的應用程序。如何將node.js應用程序轉換爲cordova

在項目目錄下,我們有node_modules,public,....所有的客戶端文件都在public文件夾中。當我在瀏覽器中調用URL時,從客戶端我正在進行API調用以檢查用戶是否已經登錄。像這樣我們正在對我的服務器進行API調用。

根據我的理解,本地應用程序是什麼,但我們將所有的客戶端文件存儲到設備中。無論何時用戶打開應用程序將加載客戶端文件,並按照工作流程進行API調用。

理論上我明白這一點。

,我堅持:

在桌面應用程序,我用來做API調用與URL像/api/web/shared/reject/,這裏我們並不需要提及的服務器地址一樣localhost:8080/api/web/shared/reject/一切瀏覽器會照顧。這同樣的事情我怎樣才能讓它在cordova應用程序中工作。

如何cordova就會知道是否是localhost or something else ...

對此,我瞪大眼睛,但我沒有找到任何教程。

任何人都可以建議我。

+0

Cordova最終需要一個WebView,它本身擴展了Web瀏覽器引擎的功能。因此,如果您的應用程序在瀏覽器上運行,那麼使用Cordova時無需修改就可以達到相同的效果。 – 2014-10-07 07:33:35

+0

@Ed_Fernando我主要懷疑,科多瓦如何識別我的服務器地址。直接我不能使用'localhost:8080/api/web/shared/reject /'在我的'js'文件中進行API調用。 – vasan 2014-10-07 07:39:03

+0

'一切瀏覽器都會照顧' - 這是否意味着您可以通過瀏覽器運行應用程序?如果是這樣,你是否能夠從客戶端瀏覽器(例如Android上的Chrome/Firefox)運行它? – 2014-10-07 09:07:00

回答

1

基本上,是一個概念問題。 Node.js是一種專門用於後端和一些用途的技術,例如擴展一些服務/功能等。 當您談論localhost:8080時,您所說的node.js實現應該位於服務器(Amazon,Azure ,你自己的服務器,nodejitsu等),公共頁面或客戶端應該使用的頁面將被添加到phonegap中,特別是在你的www目錄中,並且應該爲你的服務器更改localhost:8080的引用(Amazon,your自己的服務器,nodejitsu等),並且您的www目錄上的文件可能有引用(通過GETPOST從服務器檢索數據。請記住,Crossdomain問題不會發生在phonegap上(可能在本地環境中發生) Phonegap是一個開發前端HTML5的框架,jque ry,CSS3和其他相關技術。 對於您的具體情況,node_modules應該安裝在服務器上,而不是phonegap項目。

+0

I在phonegap中只添加客戶端文件(public /)。他們在'phonegap'中沒有'node_module'文件夾。如果我使用生產域進行API調用,工作正常('http:// xxxx.xxxx.xom/usr/api/status')。同樣的事情,我嘗試'localhost'它不工作('http:// localhost:3005/usr/api/status')這是問題。 – vasan 2014-10-07 16:29:57

+0

粘貼日誌錯誤,並嘗試做一個'curl'來檢查連接是否正常(從你的電腦)或從你的設備的ssh或curl – MrMins 2014-10-07 17:12:46

相關問題