2015-05-12 17 views
5

Cordova uygulamasının deposunu klonladım ancak .gitignore dosyasında dir/plugins eklendi.Cordova, repo'dan çıkış projesinden sonra eksik eklentileri nasıl yükleyebilirim?

Bu eksik eklentileri nasıl yükleyebilirim? U kullanılan eklentilerin kaydedildiği, ancak şanssız herhangi bir yapılandırma dosyasını bulmaya çalıştı.

Her türlü tavsiye için çok teşekkürler.

+0

Çözümüm çalıştı? – aorfevre

+0

Evet, ancak .gitignore dosyasından packages.json öğesini kaldırmam gerekir. – redrom

cevap

0

add_plugin & eklenti kancalarını eklediyseniz, package.json ürününüzün bir cordovaPlugins listesi olacaktır.

evet, o zaman, ben kullanılan çözüm platformu kaldırmak ve tüm eklentileri burada

cordova platform remove android 
cordova platform add android 

için getirmek için yeniden ekleyin gerekli kancalar

kanca/after_plugin_add/010_register_plugin olan ise .js

#!/usr/bin/env node 
/** 
* Push plugins to cordovaPlugins array after_plugin_add 
*/ 
var fs = require('fs'); 
var packageJSON = require('../../package.json'); 

packageJSON.cordovaPlugins = packageJSON.cordovaPlugins || []; 
process.env.CORDOVA_PLUGINS.split(',').forEach(function (plugin) { 
    if(packageJSON.cordovaPlugins.indexOf(plugin) == -1) { 
    packageJSON.cordovaPlugins.push(plugin); 
    } 
}); 

fs.writeFileSync('package.json', JSON.stringify(packageJSON, null, 2)); 

kanca/after_plugin_rm/010_deregister_plugin.js

#!/usr/bin/env node 
/** 
    * Remove plugins from cordovaPlugins array after_plugin_rm 
    */ 
    var fs = require('fs'); 
    var packageJSON = require('../../package.json'); 

    packageJSON.cordovaPlugins = packageJSON.cordovaPlugins || []; 

    process.env.CORDOVA_PLUGINS.split(',').forEach(function (plugin) { 
     var index = packageJSON.cordovaPlugins.indexOf(plugin); 
     if (index > -1) { 
     packageJSON.cordovaPlugins.splice(index, 1); 
     } 
    }); 

    fs.writeFile('package.json', JSON.stringify(packageJSON, null, 2)); 

kanca/after_platform_add/010_install_plugins.js

#!/usr/bin/env node 

/** 
* Install all plugins listed in package.json 
* https://raw.githubusercontent.com/diegonetto/generator-ionic/master/templates/hooks/after_platform_add/install_plugins.js 
*/ 
var exec = require('child_process').exec; 
var path = require('path'); 
var sys = require('sys'); 

var packageJSON = require('../../package.json'); 
var cmd = process.platform === 'win32' ? 'cordova.cmd' : 'cordova'; 
// var script = path.resolve(__dirname, '../../node_modules/cordova/bin', cmd); 

packageJSON.cordovaPlugins = packageJSON.cordovaPlugins || []; 
packageJSON.cordovaPlugins.forEach(function (plugin) { 
    exec('cordova plugin add ' + plugin, function (error, stdout, stderr) { 
    sys.puts(stdout); 
    }); 
}); 

Bir diğer çözüm bu sayfada açıklandığı gibi eklenti yükleme için bir görev eklemektir: http://jbavari.github.io/blog/2014/06/24/managing-cordova-plugins-with-package-dot-json-and-hooks/

12

kullanabilirsiniz Eklentileri ve plaka formlarını yönetmek için ionic state.

https://github.com/driftyco/ionic-cli#ionic-state


Oku package.json ve listelenen yükleme eklentileri/plateforms:

ionic state save 

şeyi çıkarın: package.json mevcut eklentileri/platformlar kaydet

ionic state restore 

! (... Varsayılan İyonik eklentileri dahil):

ionic state clear 

her şeyi kaldırın ve size package.json belirtilen ne geri getirmek:

ionic state reset 
+0

en iyi cevap, "iyonik durum geri yükleme" yi kullanıyorum ve her şey hazır, teşekkürler – vuhung3990

3

cordova prepare benim için hile yapmak gibiydi. Depolarımı klonladıktan sonra, platformlar config.xml dosyasında listelenmiş olsa bile, cordova requirements çalışırken "Bu projeye hiçbir platform eklenmedi" hatasıyla karşılaşıyordum. cordova prepare'un çalıştırılması, eklenti dizinlerini doldurdu ve cordova requirements'un çalışmasına izin verdi.

+0

Bu cevap olarak işaretlenmiş olmalı – RezaRahmati

İlgili konular