Как добавить плагин на основе git-репо в мою установку npm для ionic framework?

0

Я использую 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. Я собираюсь проверить это сейчас.

Теги:
ionic-framework
cordova

2 ответа

2
Лучший ответ

Всякий раз, когда вы добавляете плагины, вы можете добавить флаг --save в команду cordova/ionic, чтобы сохранить их в вашем пакете. Json. Таким образом, когда кто-то тянет ваш проект, они могут запускать ionic state reset, что заставляет ионный устанавливать все плагины cordova из файла package.json.

  • 0
    Итак, означает ли это, что я должен добавить "script":{"postinstall":"ionic state reset"} в мой файл package.json, поэтому после запуска npm install он автоматически выполнит сброс состояния?
  • 0
    Если вы пытаетесь запустить команду автоматически, используя только npm install , то да, вы должны иметь возможность добавить "scripts":{"postinstall":"ionic state reset"} для достижения этого.
0

Я не уверен, что это лучший способ, но я сделал это:

создал файл сценария в 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, он будет запускать сценарий настройки, который будет соответствующим образом добавлять все необходимые платформы и плагины.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню