【发布时间】:2016-09-10 17:03:54
【问题描述】:
我正在尝试在浏览器中为基于 NW.js 或 Electron 构建的应用存储 HTML 文件。
长话短说:我想使用所见即所得的编辑器制作类似 Sublime Text 的东西(我不知道它是如何工作的,所以我会猜测一下)
- 创建一个新选项卡,#editor 中的所有内容都存储在 localStorage/IndexedDB/NeDB/PounchDB/LimvoDB/... 作为用户 写作。
- 当用户需要保存文件时,它将内容存储在 浏览器窗口,然后创建文件。
-
如果文件已经存在,localStorage 内容会覆盖它。
所有的魔法都必须发生在浏览器数据库周围。
您可能想知道为什么我不直接使用文件,这是因为第一个请求:我们不知道用户是否会保存文件,但我们不想丢失所有内容如果应用程序关闭。
在网上搜索,我发现 通过 JSON 传递 HTML 内容是不好的做法,但我想不出任何其他解决方案。我必须在检索时使用 encodeURI 和 decode将数据保存到#editor 或保存的文件中。
我正在使用:
- 电子
- 角度
-
我还不知道应该选择什么数据库
四处挖掘,我还在 PounchDB -> CouchDB 中看到了同步功能,这让我大吃一惊 ─ 这是一个使用命名数据库同步离线和在线数据的功能。
是否可以将 .HTML 文件存储在 PounchDB 中,然后与 CouchDB 同步? 这一切都是坏习惯吗? 您将如何使用 PounchDB、NeDB 或 LimvoDB 使用 Electron/NW.js 引擎制作 Notepad - Sublime Text 或 «MS Word» 编辑器?
【问题讨论】:
-
本地存储呢?像这个例子.. [w3schools.com/html/html5_app_cache.asp]
标签: javascript angularjs node.js database electron