Я использую Ionic Framework с AngularJs для создания веб-приложения. Теперь, когда у меня есть куча моего приложения на месте со статической информацией, я хотел бы сейчас обновить службы для использования базы данных. Я искал лучший курс действий для баз данных с ионной структурой и угловой. Мне сказали, что Sqlite будет лучшим вариантом.
Я попал на следующий веб-сайт из моего поиска: https://www.thepolyglotdeveloper.com/2014/11/use-sqlite-instead-local-storage-ionic-framework/, который упоминался мне для запуска: cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin.git
.
Моя первая попытка запустить команду, похоже, обновила многие мои файлы в каталоге /directory моего приложения, которое, как я думал, было странным. Я не был уверен, следует ли добавлять их в мой репозиторий или нет.
В любом случае вопрос, который я получаю, есть. Я хочу запустить npm-установку на моей машине, и все будет хорошо, если кто-то потянет мой код. Как я мог бы использовать этот плагин git-сайт, поэтому, когда установка будет запущена, он запустит этот файл.
EDIT Я не был уверен, было ли так просто, как добавить URL-адрес в список cordovaPlugins в файле packages.json. Я собираюсь проверить это сейчас.
Всякий раз, когда вы добавляете плагины, вы можете добавить флаг --save
в команду cordova/ionic, чтобы сохранить их в вашем пакете. Json. Таким образом, когда кто-то тянет ваш проект, они могут запускать ionic state reset
, что заставляет ионный устанавливать все плагины cordova из файла package.json.
Я не уверен, что это лучший способ, но я сделал это:
создал файл сценария в scripts/setup.js
который перенес следующий код.
#!/usr/bin/env node
//This script will add or remove all plugins listed in package.json
//usage: node platforms.js [add | remove]
var command = process.argv[2] || 'add';
var packageJson = require('../package.json');
var fs = require('fs');
var path = require('path');
var sys = require('sys')
var exec = require('child_process').exec;
packageJson.cordovaPlatforms.forEach(function(platform) {
var platformCmd = 'cordova platform ' + command + ' ' + platform;
exec(platformCmd);
});
//Set up Plugins.
var command = process.argv[2] || 'add';
var packageJson = require('../package.json');
var fs = require('fs');
var path = require('path');
var sys = require('sys')
var exec = require('child_process').exec;
function createAddRemoveStatement(plugin) {
var pluginCmd = 'cordova plugin ' + command + ' ';
if(typeof plugin === 'string') {
pluginCmd += plugin;
} else {
if(command === 'add') {
pluginCmd += plugin.locator + ' ';
if(plugin.variables) {
Object.keys(plugin.variables).forEach(function(variable){
pluginCmd += '--variable ' + variable + '="' + plugin.variables[variable] + '" ';
});
}
} else {
pluginCmd += plugin.id;
}
}
return pluginCmd;
}
function processPlugin(index) {
if(index >= packageJson.cordovaPlugins.length)
return;
var plugin = packageJson.cordovaPlugins[index];
var pluginCommand = createAddRemoveStatement(plugin);
console.log(pluginCommand);
exec(pluginCommand, function(){
processPlugin(index + 1);
});
}
processPlugin(0);
Затем этот файл будет проверять разделы cordovaPlatforms и cordovaPlugins для вещей, которые необходимо добавить, а затем добавить их.
Затем я отправился в packages.json и добавил:
"scripts": {
"postinstall":"node scripts/setup.js"
}
а затем, после завершения установки npm, он будет запускать сценарий настройки, который будет соответствующим образом добавлять все необходимые платформы и плагины.
"script":{"postinstall":"ionic state reset"}
в мой файл package.json, поэтому после запускаnpm install
он автоматически выполнит сброс состояния?npm install
, то да, вы должны иметь возможность добавить"scripts":{"postinstall":"ionic state reset"}
для достижения этого.