Ich folgte alle Schritte für PouchDB Setup und SQLite. Ich bin vor folgenden Fragen:Probleme mit PouchDB + SQLite auf ionic 2
1) this._db.info() dann (console.log.bind (Konsole).) - zeigt Adapter: websql, sqlite_plugin: false
Object
adapter:"websql"
auto_compaction:false
db_name:"bakbak"
doc_count:15
sqlite_plugin:false
update_seq:15
websql_encoding:"UTF-8"
Ich bin nicht sicher, was ich falsch gemacht habe.
2) App funktioniert gut in Chrome. Auf Firefox hat es einen Fehler geworfen: this.db.sync ist keine Funktion. Ich habe es in PouchDB.sync geändert, dann ist der Fehler weg. Warum es passiert ist?
3) Auf firefox und IE Nach der oben genannten Änderung bekomme ich "AUSNAHME: Fehler: Ungefangen (in Versprechen): Fehler: Adapter fehlt".
ist dieser Fehler behoben: https://groups.google.com/forum/#!searchin/pouchdb/sqlite/pouchdb/-ROWHfB3Ty0/6qEfRkf6MTkJ
ich den Rat hier zu folgen versucht: Ionic PouchDb Sqlite plugin issue
Aber ich habe keine pouchdb Bibliothek in meinem index.html importiert. Es ist nicht dort im js-Ordner. Ich kann es im Knoten-Modul-Ordner finden.
<body>
<ion-app></ion-app>
<!-- cordova.js required for cordova apps -->
<script src="cordova.js"></script>
<!-- Polyfill needed for platforms without Promise and Collection support -->
<script src="build/js/es6-shim.min.js"></script>
<!-- Zone.js and Reflect-metadata -->
<script src="build/js/angular2-polyfills.js"></script>
<!-- the bundle which is built from the app's source code -->
<script src="build/js/app.bundle.js"></script>
</body>
Ich habe folgende Änderung sqlite2 Plugin zu aktivieren: Anzeigen
<script type="text/javascript">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
var db;
alert("window.cordova: " + window.cordova);
alert("window.SQLitePlugin: " + window.SQLitePlugin);
if (window.cordova && window.SQLitePlugin) { // because Cordova is platform specific and doesn't work when you run ionic serve
db = window.sqlitePlugin.openDatabase({ "name": "bakbak" }); //device - SQLite
alert("device db (SQLite) loaded");
} else {
db = window.openDatabase("APSNetMobileDb", "1.0", "bakbak", 100 * 1024 * 1024); // browser webSql, a fall-back for debugging
alert("browser db (WebSQL) loaded");
}
</script>
Warnungen zeigen, dass cordova und SQLite sind undefiniert
Hallo Nolan - Ich habe bereits SQLite Plugin 2 hinzugefügt und es zeigt immer noch den gleichen Fehler. Ich habe versucht, zu definieren: window.sqlitePlugin, aber ich konnte es nicht tun. Ich habe diesen Code gefunden: var db = window.sqlitePlugin.openDatabase ({name: "demo.db"}); Ich habe diesen Fehler: Kann die Eigenschaft 'openDatabase' von undefined nicht lesen. Ich muss etwas falsch machen. Bitte helfen Sie. –
Ich habe das window.sqlitePlugin aber immer noch den gleichen Fehler eingerichtet. Im Setup von window.sqliteplugin wird angezeigt, dass das Plugin nicht geladen ist. –
Es tut mir leid, ich bin mir nicht sicher, warum das Plugin nicht geladen ist. Vielleicht möchten Sie [dieses Tutorial] (http://gonehybrid.com/how-to-use-pouchdb-sqlite-for-local-storage-in-ionic-2/) lesen oder [eine Cordova-Beispielanwendung mit SQLite ausprobieren Speicher] (https://github.com/nolanlawson/pouchdb-cordova-hello-world-with-sqlite-plugin). – nlawson