在这个教程如何将SQLite与PouchDB结合使用中,使用的cordova插件是cordova-plugin-sqlite-2。与此同时,在另一个在Ionic中使用SQLite的教程中使用的科多瓦插件是cordova-sqlite-storage。
这两个插件到底有什么区别?
是否可以将cordova-sqlite-storage与PouchDB而不是cordova-plugin-sqlite-2结合使用?
当我想使用Ionic 5本地cordova-sqlite-plugin-2插件(作为第二教程)时,是否可以使用SQLite?
更新
我尝试创建一个使用PouchDB的应用程序,我安装了cordova-sqlite-storage插件而不是cordova-plugin-sqlite-2,因为我想同时使用Ionic本地SQLite。当应用程序启动时,我会得到一个错误,如下所示:
ERROR Error: Uncaught (in promise): {"status":500,"name":"web_sql_went_bad","message":"unknown","reason":"Invalid database handle"}
at resolvePromise (zone-evergreen.js:797:1)
at resolvePromise (zone-evergreen.js:754:1)
at zone-evergreen.js:858:1
at ZoneDelegate.invokeTask (zone-evergreen.js:391:1)
at Object.onInvokeTask (core.js:34182:1)
at ZoneDelegate.invokeTask (zone-evergreen.js:390:1)
at Zone.runTask (zone-evergreen.js:168:1)我还在我的项目中安装了pouchdb-adapter-cordova-sqlite。根据pouchdb-适配器-cordova-sqlite,它应该与cordova-sqlite-storage一起工作,并声明;
PouchDB适配器使用本地Cordova SQLite作为其后备存储。它适用于下列任何一个Cordova插件:
当我切换到使用cordova-sqlite-storage时,为什么会出现这个错误?
发布于 2022-01-21 15:50:06
确保只有一个插件。
我得到的错误似乎是由package.json中存在的两个插件造成的。我以为我已经使用ionic cordova plugin rm cordova-plugin-sqlite-2删除了它,但是当我删除并再次添加平台并运行ionic cordova run android -l时,错误仍然出现在package.json中,显然cordova-plugin-sqlite-2仍然可用。
在config.xml中检查并删除它,删除并添加平台,错误消失。
https://stackoverflow.com/questions/70798985
复制相似问题