/ / Jak dodać wtyczkę opartą na repozytorium git do mojej instalacji npm do jonowego frameworka? - angularjs, git, cordova, struktura jonowa

Jak dodać wtyczkę opartą na repozytorium git do mojej instalacji npm do jonowego frameworka? - angularjs, git, cordova, struktura jonowa

Używam Ionic Framework z AngularJs dostworzyć aplikację internetową. Teraz, gdy mam już pakiet mojej aplikacji z informacjami statycznymi, chciałem teraz zaktualizować usługi, aby wykorzystać bazę danych. Szukałem najlepszego sposobu działania dla baz danych o strukturze jonowej i kątowej. Powiedziano mi, że Sqlite będzie najlepszą opcją.

Skończyło się na następującej stronie z mojego wyszukiwania: https://www.thepolyglotdeveloper.com/2014/11/use-sqlite-instead-local-storage-ionic-framework/ który wzmiankował mi do uruchomienia: cordova plugin add https://github.com/brodysoft/Cordova-SQLitePlugin.git.

Moja pierwsza próba uruchomienia polecenia wydawała się aktualizować wiele moich plików pod platformy / katalog mojej aplikacji, który uważałem za dziwny. Nie byłem pewien, czy powinienem dodać je do mojego repozytorium, czy nie.

W każdym razie pytanie, które dostaję jest. Chcę uruchomić instalację npm na moim komputerze i wszystko będzie dobrze dla każdego, kto wyciągnie mój kod. Jak miałbym tę stronę git z pluginami, więc gdy instalacja się uruchomi, uruchomi ten plik.

EDYTOWAĆ Nie byłem pewien, czy to było tak proste, jak dodanie adresu URL do listy cordovaPlugins w pliku packages.json. Mam zamiar przetestować to teraz.

Odpowiedzi:

2 dla odpowiedzi № 1

Po dodaniu wtyczek możesz dodać --save flagę do polecenia cordova / ionic, aby zapisać je w pliku package.json. W ten sposób, gdy ktoś ciągnie twój projekt, może biec ionic state reset, co powoduje, że jonowe instaluje wszystkie wtyczki cordova z pliku package.json.


0 dla odpowiedzi nr 2

Nie jestem pewien, czy to najlepszy sposób, ale co zrobiłem:

utworzył plik skryptu w scripts/setup.js który niósł następujący kod.

#!/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);

Plik ten będzie następnie sprawdzał sekcje cordovaPlatforms i cordovaPlugins dla rzeczy, które należy dodać, a następnie dodać.

Potem wszedłem packages.json i dodał:

"scripts": {
"postinstall":"node scripts/setup.js"
}

a następnie po zakończeniu instalacji npm, uruchomiłby skrypt instalacyjny, który odpowiednio dodałby wszystkie wymagane platformy i wtyczki.