कॉर्डोवा 5.0.0: मुझे कौन सी फाइलें चाहिए?


89

मैं कॉर्डोवा 5.0.0 का उपयोग करता हूं और मेरे पास निम्नलिखित परियोजना संरचना है:

MyProject
    - hooks
    - platforms
    - plugins
    - resources
    - www
    - config.xml

मेरा सवाल अब यह है: मैं इनमें से कौन सा फ़ोल्डर छोड़ सकता हूं? मैं इसे पूछता हूं क्योंकि मैं तीन अलग-अलग प्लेटफार्मों पर काम करता हूं। मैं एंड्रॉइड के लिए लिनक्स पर, विंडोज़ फोन के लिए विंडोज़ और आईओएस के लिए मैक पर विकसित करता हूं। अगर मैं पूरी परियोजना करता हूं तो मुझे हमेशा समर्थित प्लेटफॉर्मों के लिए चेतावनी और त्रुटि मिलती है।

मैं जो चाहता हूं वह एक न्यूनतर गित भंडार है।

उदाहरण के लिए एक समस्या है प्लगइन्स। जब मैं रिपॉजिटरी से प्लगइन फ़ोल्डर को हटाता हूं तो मुझे उन्हें अपने प्रत्येक विकासशील प्लेटफॉर्म पर मैन्युअल रूप से जोड़ना होगा।

एक अन्य समस्या संसाधन फ़ोल्डर है। मैं आयनिक का उपयोग करके स्वचालित रूप से आइकन और स्प्लैशस्क्रीन उत्पन्न करता हूं। जब मैं अब आईओएस पर प्रोजेक्ट बनाने की कोशिश करता हूं, तो यह एंड्रॉइड के लिए छवियों के बारे में शिकायत कर रहा है।

तो मुझे क्या चाहिए और मैं क्या छोड़ सकता हूं?

जवाबों:


122

जब तक आपने उनमें कोई कस्टम कोड नहीं जोड़ा है, तब तक आप प्लेटफार्मों और प्लगइन्स निर्देशिकाओं को अनदेखा कर सकते हैं।

जब प्लगइन्स और प्लेटफ़ॉर्म जोड़ते हैं - कमांड में जोड़ें। जैसे

cordova platform add ios@3.8.0 --save

या

cordova plugin add cordova-plugin-device --save

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

आप तैयारी और निर्माण में एक मंच भी निर्दिष्ट कर सकते हैं। इसलिए यदि आप अपने मैक पर हैं, तो आप गेट रिपॉजिटरी की जांच कर सकते हैं और cordova prepare iosसिर्फ आईओएस प्लेटफॉर्म और प्लगइन्स को इंस्टॉल करने के लिए चला सकते हैं ।


यह मौजूदा प्लगइन्स और प्लेटफार्मों के लिए भी काम करता है। कॉर्डोवा बस फिर से स्थापित करने को नजरअंदाज करेगा, लेकिन प्लगइन को प्लगइन फ़ाइल में जोड़ देगा।
रेनविस

4
cordova buildप्लेटफार्मों को पुनर्स्थापित नहीं किया, लेकिन cordova prepareकॉर्डोवा 6.0 पर किया।
विक्टर सर्जियनको

42
यदि आप --saveप्लेटफ़ॉर्म और प्लगइन्स को भूल गए हैं , तो बस ( cordova platform saveऔर cordova plugin saveनोट नहीं --) का उपयोग करें , और यह आपके लिए संबंधित लाइनों को जोड़ देगा config.xml
जकार्टन

1
यह ठीक है, platformsलेकिन इसके लिए काम नहीं किया pluginscordova prepareकम से कम plugin.xmlऔर के साथ काम नहीं करेगा src। मैंने हार मान ली और बस सभी को बचा लिया plugins
Jayen

6
कॉर्डोवा 7.0.0 के रूप में डिफ़ॉल्ट व्यवहार को सहेजने के लिए बदल दिया गया है। cordova.apache.org/news/2017/05/04/cordova-7.html
किंजल दीक्षित

42

यह प्लेटफार्मों पर निर्भर करता है।

आप .gitignore के इस उदाहरण का उपयोग कर सकते हैं और अपनी आवश्यकताओं के अनुसार अनुकूलित कर सकते हैं।

# Mac
.DS_Store

# iOS
platforms/ios/build/
platforms/ios/www/
platforms/ios/cordova/console.log
*.xcuserdatad

# android
platforms/android/assets/www
platforms/android/bin
platforms/android/gen
platforms/android/local.properties
platforms/android/ant-build
platforms/android/ant-gen
platforms/android/CordovaLib/ant-build
platforms/android/CordovaLib/ant-gen
platforms/android/CordovaLib/bin
platforms/android/CordovaLib/gen
platforms/android/CordovaLib/local.properties

# wp8
platforms/wp8/bin
platforms/wp8/obj
platforms/wp8/www
platforms/wp8/.staging
platforms/wp8/*.suo
platforms/wp8/*.csproj.user

# res
resources/signing

यह भी प्लेटफार्मों / Android / Res को नजरअंदाज करने के लिए कोई मतलब नहीं होगा? AFAIK / समझना, ये बिल्ड प्रोसेस (पैरेंट (प्रोजेक्ट) डायरेक्टरी में रेस / रिसोर्स फ़ोल्डर से) के दौरान बनाए गए हैं।
तोमर कागन

4
मैं platforms/*/कॉर्डोवा 6.3.0 के साथ अनदेखा करने और cordova prepareअन्य प्रणालियों पर करने में सक्षम था ।
जयन

मुझे लगता है कि इस अनदेखा फ़ाइल में बहुत सारी जेनरेट की गई फ़ाइलें शामिल हैं, इसलिए इसे और अधिक संकीर्ण बनाने की आवश्यकता है, मुझे लगता है।
एंडर्स लिंडेन

1
क्या इसमें शामिल होना चाहिए node_modules? मैंने किया।
कैमरून ए। एलिस

@ कैमरन.एलीस मेरे पास node_modulesभी है। क्या आपने इसे जोड़ा? क्या इन नोड मॉड्यूल को डाउनलोड करने का कोई तरीका नहीं है।
विएना

18

आप निम्न आदेशों का उपयोग करके बाद में प्लेटफ़ॉर्म और प्लगइन को बचा सकते हैं।

प्लेटफ़ॉर्म मास सेविंग

$ cordova platform save

प्लग इन मास सेविंग

$ cordova plugin save

कृपया ध्यान दें कि उपरोक्त आदेशों में कोई भी नहीं है

एक और बात, किसी अन्य मशीन पर रेपो लाने के बाद आप प्लगइन्स उत्पन्न करने और स्वचालित रूप से प्लेटफ़ॉर्म लाने के लिए निम्नलिखित कमांड चलाते हैं

$ cordova prepare

अधिक संदर्भ के लिए नीचे दिए गए लिंक पर जाएं। https://cordova.apache.org/docs/en/latest/platform_plugin_versioning_ref/#mass-saving-platforms-on-an-existing-project

कॉर्डोवा टिप : सही समाधान प्राप्त करने के लिए हमेशा किसी अन्य चीज़ से पहले आधिकारिक डॉक्स देखें।


16

मुझे जवाब नहीं पता, लेकिन मुझे कुछ ऐसा मिला है जो मदद कर सकता है। यह पुल अनुरोध स्वीकृत हो गया ।

यहाँ फ़ाइल है :

# Mac
.DS_Store

# Node
npm-debug.log
/node_modules

# Cordova
/platforms
/plugins

# res
resources/signing


4

अधिकांश अन्य उत्तर 2/3 वर्ष पुराने हैं।

2019 अपडेट:

# remove extension less files
*
!/**/
!*.*

# intermediate files
node_modules/
build/
obj/
Debug/
bin/
package-lock.json
.vs
.gradle
.idea
*.exe

# res
**/resources/signing

# project specific
**/dist/
**/all.min.js

# ========== Cordova - platforms
# android
# platforms/android/app/src/main/assets
# platforms/android/app/src/main/AndroidManifest.xml
# platforms/android/app/src/main/res/drawable-*
# platforms/android/app/src/main/res/mipmap-*
# platforms/android/app/src/main/res/xml/config.xml
# browser
# platforms/browser/app/src/main/assets
# platforms/browser/config.xml
# platforms/browser/www
#
# ========== Cordova - plugins - remove all except json & xml
# plugins/**/.DS_Store
# plugins/**/*.cs
# plugins/**/*.h
# plugins/**/*.java
# plugins/**/*.js
# plugins/**/*.m
# plugins/**/*.map
# plugins/**/*.md
# plugins/**/*.modulemap
# plugins/**/*.ts
# plugins/**/LICENSE
# plugins/**/NOTICE
# plugins/**/*.gradle
# plugins/**/tests/

जैसा कि आप देख सकते हैं मैंने अधिकांश पंक्तियों (# के साथ शुरू होने वाली सभी पंक्तियों) पर टिप्पणी की। ऐसा इसलिए है क्योंकि मैं प्लगइन संस्करण परिवर्तनों के साथ मुद्दों में भाग गया, और यह जानने का फैसला किया कि प्लगइन अपडेट के साथ क्या हो रहा है। अनिवार्य रूप से सभी प्लेटफ़ॉर्म और प्लगइन फ़ाइलों को शामिल किया गया है, अब मेरा जीवन शांतिपूर्ण है।

2019:
मैं के साथ कहा गया है इस

एप्लिकेशन को विकसित करने और प्रकाशित करने के बाद, यह नीचे हो गया:
(यदि आप नीचे से विचलन करते हैं, तो नीचे टिप्पणी करें, हम एक दूसरे से सीख सकते हैं)

# remove extension less files
*
!/**/
!*.*

# intermediate files
node_modules/
build/
obj/
Debug/
bin/
package-lock.json
.vs
.gradle
.idea
*.exe

# Cordova - platforms
platforms

# Cordova - plugins - remove all except json & xml
plugins/**/.DS_Store
plugins/**/*.cs
plugins/**/*.h
plugins/**/*.java
plugins/**/*.js
plugins/**/*.m
plugins/**/*.map
plugins/**/*.md
plugins/**/*.modulemap
plugins/**/*.ts
plugins/**/LICENSE
plugins/**/NOTICE
plugins/**/*.gradle
plugins/**/tests/

# res
**/resources/signing

# project specific
**/dist/
**/all.min.js

1
आप बस plugins/*फिर कर सकते हैं !plugins/**/*.jsonऔर!plugins/**/*.xml
Z. खुल्लाह

मैंने यह भी देखा है कि पैकेज-लॉक को नजरअंदाज न करने की सलाह दी जाती है
जेड। खुल्ला

@ z- खुल्ला दिए गए लिंक में, "प्लग इन क्लोन क्लोन को नजरअंदाज करने का वैकल्पिक" दिया गया है क्योंकि कभी-कभी हम उनमें कोड बदलते हैं, इसलिए सभी फाइलों को अनदेखा नहीं कर सकते। आदर्श रूप से, हम अनदेखा कर सकते हैं, लेकिन प्लगइन्स में मुद्दों के कारण ऑनलाइन सुझाव हैं, एक नौसिखिया के रूप में कॉर्डोवा में मदद मिलेगी। पैकेज-लॉक 10s या 20s लाइनों में हर बार कुछ प्लगइन इंस्टाटॉइन बदल जाता है, इसलिए यह भी ऐसी चीज है जिसकी हम समीक्षा नहीं करना चाहते हैं, साथ ही लॉक फ़ाइल को igoring करके हम अब तक कोई भी समस्या नहीं है, यह पैकेज से उत्पन्न होता है। json। आशा है कि हमारे परिप्रेक्ष्य देने में मदद करता है।
मनोहर रेड्डी पोरेड्डी

हां लेकिन पैटर्न एक ही काम करता है, केवल कम लाइनों के साथ। पैकेज-लॉक के रूप में, यह डिबगिंग में मदद करता है क्योंकि यह सटीक नोड_मॉडल संरचना को दर्शाता है, लेकिन हां, मुझे लगता है कि यह वैकल्पिक है
Z. खुल्लाह


3

मैंने इन चरणों का पालन किया:

  • कॉर्डोवा परियोजना बनाएं

  • प्लेटफ़ॉर्म जोड़ें

  • प्लगइन्स जोड़ें

प्रोजेक्ट बनाने से पहले, मैं जनरेट की गई फ़ाइलों को कमिट करता और धकेलता हूँ। के बाद मैं परियोजना का निर्माण और उत्पन्न नई फ़ाइलों के लिए जाँच करें। मुझे ये जोड़ने के लिए मिल गया है।

/platforms/android/gradlew.bat

/ प्लेटफार्मों / एंड्रॉयड / निर्माण

/ प्लेटफार्मों / एंड्रॉयड / Gradle

/ प्लेटफार्मों / एंड्रॉयड / libs

/platforms/android/gradlew.bat

/ प्लेटफार्मों / एंड्रॉयड / CordovaLib / निर्माण

/platforms/android/.gradle


0

मैं निको सूची में जोड़ता हूं:

# IntelliJ IDEA files
*.iml
.idea

#windows
Thumbs.db
Desktop.ini

तथा

*.sw[mnpcod]
*.log
*.tmp
*.tmp.*
log.txt

2
ये आमतौर पर उपेक्षा करने के लिए अच्छे होते हैं, कॉर्डोवा के लिए विशिष्ट नहीं (जैसे .DS_Storeकि निको के जवाब में नहीं है, या तो)।
जरी कीनलेन

इन्हें संभवतः एक वैश्विक स्तर पर संबोधित किया जाना चाहिए , न कि परियोजना-स्तर पर।
रात ०des
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.