Я пытаюсь внедрить sqlite в простое приложение Ionic, и это тот процесс, который я выполнял:
ionic start myApp sidemenu
Затем я устанавливаю плагин sqlite:
ionic plugin add https://github.com/brodysoft/Cordova-SQLitePlugin
и ngCordova
bower install ngCordova
это дало мне следующие варианты: Невозможно найти подходящую версию для angular, выберите один из них: 1) angular # 1.2.0, который разрешен до 1.2.0 и требуется ngCordova # 0.1.4-alpha 2) angular # >= 1.0.8, который разрешен до 1.2.0 и требуется angular -ui-router # 0.2.10 3) angular # 1.2.25, который разрешен к 1.2.25 и требуется angular -анимация # 1.2.25, angular -sanitize # 1.2.25 4) angular # ~ 1.2.17, которая была решена до 1.2.25 и требуется ионным # 1.0.0-beta.13Prefix выбор с! чтобы сохранить его на bower.json
Я выбрал вариант 3) и я включил скрипты в файл следующим образом:
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="lib/ngCordova/dist/ng-cordova.js"></script>
<script src="cordova.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
Затем я добавил контроллер в окно поиска:
.controller('SearchCtrl', function ($scope, $cordovaSQLite){
console.log('Test');
var db = $cordovaSQLite.openDB({ name: "my.db" });
// for opening a background db:
var db = $cordovaSQLite.openDB({ name: "my.db", bgType: 1 });
$scope.execute = function() {
console.log('Test');
var query = "INSERT INTO test_table (data, data_num) VALUES (?,?)";
$cordovaSQLite.execute(db, query, ["test", 100]).then(function(res) {
console.log("insertId: " + res.insertId);
}, function (err) {
console.error(err);
});
};
})
Это вызвало ошибку:
> TypeError: Cannot read property 'openDatabase' of undefined
> at Object.openDB (http://localhost:8100/lib/ngCordova/dist/ng-cordova.js:2467:36)
Далее я попробовал вручную, включая SQLitePlugin.js, по: копирование из плагинов /com.brodysoft.sqlitePlugin/www в основной www/ и добавление его на страницу index.html
Я пробовал включать в себя все:
<script src="SQLitePlugin.js"></script>
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="lib/ngCordova/dist/ng-cordova.js"></script>
<script src="cordova.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
Я получаю Error ReferenceError: cordova не определен поэтому я тогда попытался включить его после cordova.js script, но все равно получить ту же ошибку
действительно понравится помощь в случае, если это актуально, это текущие версии Кордовы и ионных я использую:
ionic --version 1.2.5
cordova --version 3.5.0-0.2.7
и это сгенерированный bower.json
{
"name": "myApp",
"private": "true",
"devDependencies": {
"ionic": "driftyco/ionic-bower#1.0.0-beta.13"
}
}
и мой пакет .json:
{
"name": "myapp",
"version": "1.0.0",
"description": "myApp: An Ionic project",
"dependencies": {
"gulp": "^3.5.6",
"gulp-sass": "^0.7.1",
"gulp-concat": "^2.2.0",
"gulp-minify-css": "^0.3.0",
"gulp-rename": "^1.2.0"
},
"devDependencies": {
"bower": "^1.3.3",
"gulp-util": "^2.2.14",
"shelljs": "^0.3.0"
}
}