2015-02-06 15 views
9

Sto costruendo un'applicazione Cordova che autorizzo a brandare diversi clienti. Mi chiedevo se ci fosse un modo per avere un config.xml predefinito, e quindi avere un secondo file che sovrascriva il valore predefinito con i valori del marchio. Ci sono alcuni valori che ho bisogno di ignorare, tuttavia alcuni dei più evidenti sono:Più file config.xml per cordova

  • Gli attributi id e la versione del widget di
  • nome
  • descrizione
  • autore
  • icona (come dovrei ignorare multiplo dello stesso tag?)
  • spruzzata

Se il re non è un modo Cordova per farlo, c'è uno strumento linux che potrei usare per questo scopo che emetterebbe il mio singolo file config.xml?

+0

non posso fare a meno. Sto cercando una soluzione da solo. Alla fine, probabilmente si riduce ad avere un piccolo script che copia/unisce i file di configurazione del client in/con 'config.xml' e quindi esegue cordova con quel file di configurazione. Il file di configurazione del client contiene i percorsi delle immagini, del nome e della descrizione specifici del client. Un semplice script node.js potrebbe unire i due file XML tramite XSLT. – philk

+0

Hai trovato una soluzione? o hai appena finito di scrivere la sceneggiatura –

+0

Ho scritto lo script – philk

risposta

1

Il modo migliore per farlo è creare un progetto separato per ogni istanza dell'applicazione.

Ecco come vorrei risolvere questo:

1.Creare un modello per il file config.xml.

2.Creare una cartella www (contenente i file dell'applicazione) nella stessa directory in cui verrà creato lo project_folders per ogni istanza dell'applicazione.

3.Creare nuove istanze dell'applicazione cordova create...

4.In ogni istanza copiare il modello del config.xml sopra quello esistente e modificare per l'istanza specifica.

5.Either copiare la cartella www dalla directory di sopra del project_root in esso, o rimuovere la cartella www dal project_root e creare un link simbolico alla cartella www nella directory sopra il project_root.

Ora avete istanze separate della vostra applicazione, tutte condividono lo stesso contenuto di www ma con file personalizzati config.xml.

Esempio Struttura delle directory:

App_Name 
    \config.xml 
    \www 
    \{project_instance_1} 
    \{config replaced} 
    \www -> ../www 
    \{project_instance_2} 
    \{config replaced} 
    \www -> ../www 
+1

Attualmente sto usando un progetto separato per ogni applicazione di marca, tuttavia se voglio aggiungere/aggiornare un'opzione di configurazione globale, devo modificare ogni config.xml ed essere molto attento a non perdere nessuno. Il mio obiettivo qui è avere un file di configurazione principale e poi un secondo che abbia solo le configurazioni per quella marca invece di dover mantenere molti file di configurazione completi. – trex005

+0

Sembra molto complesso. Mi chiedo perché la CLI Cordova non contenga un argomento per specificare 'config.xml' da usare. Ciò renderebbe più semplice avere un file di configurazione per ogni cliente. – philk

+0

Eventuali aggiornamenti? @philk –

Problemi correlati