2015-02-06 24 views
9

के लिए एकाधिक config.xml फ़ाइलें मैं एक कॉर्डोवा एप्लिकेशन बना रहा हूं जिसे मैं विभिन्न ग्राहकों को ब्रांड करने की अनुमति दे रहा हूं। मैं सोच रहा था कि डिफ़ॉल्ट config.xml होने का कोई तरीका था, और उसके बाद दूसरी फ़ाइल है जो ब्रांडेड मानों के साथ डिफ़ॉल्ट को ओवरराइड करता है।कॉर्डोवा

  • विजेट के
  • नाम
  • वर्णन
  • लेखक
  • आइकन आईडी और संस्करण विशेषताएं (कैसे: काफी कुछ मूल्यों मैं ओवरराइड करने के लिए की जरूरत है लेकिन कर रहे हैं और अधिक स्पष्ट में से कुछ हैं, मैं एक ही टैग के कई ओवरराइड होगा?)
  • छप

हैं यह ऐसा करने का कॉर्डोवा तरीका नहीं है, क्या कोई लिनक्स टूल है जिसका उपयोग मैं इस उद्देश्य के लिए कर सकता हूं जो मेरी एकल config.xml फ़ाइल आउटपुट करेगा?

+0

मदद नहीं कर सकते। खुद को एक समाधान की तलाश में है। अंत में यह शायद छोटी लिपि रखने के लिए उबालता है जो क्लाइंट कॉन्फ़िगरेशन फ़ाइलों को 'config.xml' के साथ/विलय करता है और उसके बाद उस कॉन्फ़िगरेशन फ़ाइल के साथ कॉर्डोवा चलाता है। क्लाइंट कॉन्फ़िगरेशन फ़ाइल में क्लाइंट विशिष्ट छवियों, नाम और विवरण के पथ शामिल हैं। एक साधारण node.js स्क्रिप्ट एक्सएसएलटी के माध्यम से दो एक्सएमएल फाइलों को मर्ज कर सकती है। – philk

+0

क्या आपको कोई समाधान मिला? या आपने स्क्रिप्ट –

+0

लिखने का अंत किया है, मैंने स्क्रिप्ट – philk

उत्तर

1

ऐसा करने का सबसे अच्छा तरीका वास्तव में आपके आवेदन के प्रत्येक उदाहरण के लिए एक अलग परियोजना बनाना है।

यहाँ मैं यह कैसे हल होगा:

1. बनाएँ config.xml फ़ाइल के लिए एक टेम्पलेट।

2. उसी निर्देशिका में www फ़ोल्डर (अपने आवेदन की फाइलें शामिल करें) बनाएं जहां आप एप्लिकेशन के प्रत्येक उदाहरण के लिए project_folders बनाएंगे।

आवेदन cordova create...

4.In प्रत्येक उदाहरण के 3.Create नई उदाहरणों मौजूदा एक से अधिक config.xml के टेम्पलेट कॉपी और विशिष्ट उदाहरण के लिए संशोधित।

5.Either इसे में project_root ऊपर निर्देशिका से www फ़ोल्डर की प्रतिलिपि, या project_root से www फ़ोल्डर को हटाने और project_root ऊपर निर्देशिका में www फ़ोल्डर में एक सिमलिंक पैदा करते हैं।

अब आपके पास अपने आवेदन के अलग-अलग उदाहरण हैं, सभी www सामग्री साझा करते हैं लेकिन कस्टम config.xml फ़ाइलों के साथ साझा करते हैं।

उदाहरण निर्देशिका संरचना:

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

लिखा है, मैं वर्तमान में प्रत्येक ब्रांडेड एप्लिकेशन के लिए एक अलग प्रोजेक्ट का उपयोग कर रहा हूं, हालांकि यदि मैं वैश्विक कॉन्फ़िगरेशन विकल्प जोड़ना/अपडेट करना चाहता हूं, तो मुझे प्रत्येक config.xml को संपादित करना होगा और किसी भी याद करने के लिए बहुत सावधान। मेरा लक्ष्य यहां एक मास्टर कॉन्फ़िगरेशन फ़ाइल है और फिर एक सेकंड है जिसमें कई पूर्ण कॉन्फ़िगरेशन फ़ाइलों को बनाए रखने के बजाय उस ब्रांड के लिए केवल कॉन्फ़िगरेशन हैं। – trex005

+0

यह बहुत जटिल लगता है। आश्चर्य है कि कॉर्डोवा सीएलआई में उपयोग करने के लिए 'config.xml' निर्दिष्ट करने के लिए कोई तर्क नहीं है। इससे प्रत्येक क्लाइंट के लिए कॉन्फ़िगरेशन फ़ाइल होना आसान हो जाएगा। – philk

+0

कोई अपडेट? @philk –

संबंधित मुद्दे