2016-06-07 25 views
1

我有一個離線的web應用程序的PC與JavaScript和我期待添加一個數據庫。問題在於它需要跨多臺計算機持續存儲數據(通過USB)。所以我想找到一種方法將這些數據存儲在USB上而不是電腦的硬盤上。離線便攜式網絡應用程序,Javascript。如何獲得跨計算機的持久數據庫?

我已研究過諸如lokijs之類的解決方案,雖然lokijs具有持久性存儲,但存儲在本地存儲或IndexedDB中。這意味着它通過瀏覽器存儲在計算機上。解決這個問題的一種方式是以某種方式用JavaScript讀取/寫入文件,或者將數據庫文件保存在與其他文件相同的目錄中(以便通過USB進行移植)。有沒有辦法做到這一點?據我所知,沒有辦法做到這一點。

另一個解決方案是下載一個portable version of Chrome,並創建一個.bat文件,以確保Web應用程序將打開使用便攜式Chrome瀏覽器。我認爲(不太確定)便攜式Chrome會在會話之間保留本地存儲/ IndexedDB數據。但是,這種方法體積龐大,我寧願不依賴於此。

那麼,有沒有辦法解決這個問題的方法嗎?還是有另一個JavaScript數據庫可以在本地存儲和檢索數據庫,以通過USB在多臺計算機上實現持久數據存儲。

感謝您的閱讀,我會很感激任何答案。

回答

0

基本上,您希望使用Web技術構建的便攜式胖客戶端應用程序。有多種解決方案。我建議使用NodeWebKit或類似的東西(JavaFX也具有JavaScript的Web渲染功能)。

+0

感謝您的回答和建議。如果你不介意,你對[Electron](http://electron.atom.io/)和你提到的[NW.js](http://nwjs.io/)有什麼看法? –

+0

我真的不知道它,但它絕對值得一看。 – meskobalazs

1

JavaScript沒有訪問您的磁盤 - 出於安全原因。您無法使用Web應用程序讀取/寫入本地驅動器,否則惡意軟件傳播起來會更容易。這就是爲什麼像lokijs這樣的解決方案使用瀏覽器內存儲的原因。如果你想要一個可以從USB運行的便攜式存儲的離線應用程序,我會用一種不同的技術/編程語言來重寫。如果它需要跨平臺的話,Java可能是你最好的選擇。

+0

感謝您的回答和建議。當你和meskobalazs建議時,我一定會研究其他技術。 –