我正在开发reactjs应用,并且试图从浏览器中的现有文件打开webSQL数据库,但没有成功。我想在浏览器中使用数据库进行测试,直到使用cordova发布我的应用为止。然后,我将切换到cordova的SQLite插件。
我的数据库文件存储在public
文件夹中,代码如下:
db = window.openDatabase('/db.sqlite', "0.1", "mydb description", 200000);
但是,浏览器(Google Chrome)似乎总是在打开一个名为/db.sqlite
的新数据库,而不是在打开现有数据库。
有什么建议吗?
编辑1:
打开数据库后,我添加了第一个事务,但是以"could not prepare statement (1 no such table: users)"
结尾,但是users表在我的db文件中有很多行。
我也尝试将/db.sqlite
更改为db.sqlite
,但没有任何效果。打开数据库之前,有什么方法可以将数据库文件复制到Chrome存储中?
编辑2:
打开webSQL db文件仅是开发模式的一种技巧,因此任何从自定义文件中打开db的“肮脏”解决方案都会有很大帮助。
编辑3:
我找到了一个名为sql.js https://github.com/kripken/sql.js的库。您是否认为可以用和函数包装此lib,从而决定该应用程序是在cordova(然后释放plugin.sqlite)还是在浏览器(然后从sql.js lib执行命令)中运行?