क्या bower_compenders gitignored होना चाहिए?


157

क्या केवल bower.jsonफ़ाइल को रखना और पूरी bower_componentsनिर्देशिका को बेहतर बनाना अच्छा होगा ?


मैंने सिर्फ एक सिम्फनी की आधिकारिक रसोई की किताब पर गौर किया, जो वास्तव में इस सटीक प्रश्न का उत्तर देती है, "वर्तमान में, आपको संभवतः अपनी .gitignoreफ़ाइल में निर्देशिका जोड़ने के बजाय बोवर द्वारा डाउनलोड की गई संपत्तियां चाहिए "
पियरे डे लेसपिन

जवाबों:


149

आधिकारिक बोवर पेज ने कहा:

नायब यदि आप किसी ऐसे पैकेज को नहीं लिख रहे हैं जिसका उद्देश्य दूसरों द्वारा खपत किया जाना है (जैसे, आप एक वेब ऐप बना रहे हैं), आपको हमेशा स्थापित पैकेजों को स्रोत नियंत्रण में जांचना चाहिए ।

उद्धरण में लिंक की जांच करना सुनिश्चित करें, यह कुछ समर्थक और विपक्ष पर चर्चा करता है। मुख्य समर्थक यह उल्लेख करता है कि उन्हें यह सुनिश्चित करना है कि आपकी निर्भरता हमेशा उपलब्ध है, जब तक कि आपका भंडार उपलब्ध है। कोई फर्क नहीं पड़ता कि क्या होता है बोवर, गिटहब या जो कुछ भी अन्यथा की आवश्यकता होगी।


1
इस रोचक लेख के लिए धन्यवाद। तो अब के लिए हमारे पास अभी भी कोई "लॉक फ़ाइल" नहीं है जो संस्करणों को फ्रीज करने के बराबर है।
पियरे डे लेसिन

1
@PierredeLESPINAY केवल शीर्ष स्तर के लिए। जो गायब है वह npm सिक्रेटवैप फीचर के बराबर है।
Passy

3
वे अपने ब्लॉग पोस्ट में यह भी कहते हैं "आखिरकार, आपके सभी / bower_compenders निर्देशिका में चेक-इन करने या न करने का विकल्प ..."।
कृष्णराज

3
उन्हें जाँचने के पीछे तर्क यह है कि किसी दिन पुस्तकालय इंटरनेट से गायब हो सकता है या उनका कुछ समय कम हो सकता है जो बदले में विफलताओं का कारण बन सकता है। एक मावेन / ग्रैडल उपयोगकर्ता के रूप में मैं कभी भी निर्भरता में जाँच के बारे में नहीं सोचता।
कृष्णराज

7
स्रोत नियंत्रण पर स्थापित पैकेजों को जांचने के लिए आधिकारिक बोवर पेज की सलाह को 2014 में हटा दिया गया था: github.com/bower/bower.github.io/commit/…
उपयोगकर्ता

52

.Gitignore एक नव उत्पन्न में फ़ाइल Yeoman AngularJS परियोजना bower_components (और node_modules) को नजरअंदाज किया जा करने के लिए सूचीबद्ध किया है (यदि आप Yeoman नहीं जानता कि यह आधुनिक webapps के लिए एक बहुत सम्मानित वेब मचान उपकरण है, इसलिए यह मेरे लिए काफी अच्छा है!):

.gitignore

node_modules
dist
.tmp
.sass-cache
bower_components

9

दोनों दृष्टिकोण के लिए एक समय और एक जगह है। येओमन के लिए यह बोवर.जॉन पर भरोसा करने के लिए उपयुक्त है क्योंकि यह एक टूलकिन में एक उपकरण है और बोवर इकोसिस्टम के साथ रहने और सांस लेने की आवश्यकता है। एक तैनात वेब ऐप के लिए, आमतौर पर निर्भरता कम करने और अधिक नियंत्रण बनाए रखने के लिए यह अच्छा अभ्यास है।

यहाँ एक अच्छा लेख है जो मुझे पसंद है जो इस पर चर्चा करता है।


6

यदि आप बूनर के साथ ग्रंट और नोड का उपयोग कर रहे हैं, तो यह आपके .itignore में bower_compitters लगाने के लिए समझ में आता है क्योंकि जब आप ग्रंट सर्व करते हैं या ग्रंट का निर्माण करते हैं तो यह आपके लिए निर्भरता का ख्याल रखता है, मुझे यकीन है कि येओमान में वे इसे पसंद करते हैं। .itignoreore


5

Yeoman जनरेटर पहले से भरे .gitignore bower_components के साथ फाइल, लेकिन यह भी अन्य निर्देशिकाओं मुझे लगता है कि होगा एक अंतिम एप्लिकेशन (www) के लिए की जरूरत होगी तो मैं कुछ शोध किया पहले से ही भरे।

मुझे पता चला कि www / index.html ऐप / index.html का एक छोटा संस्करण है। एप्लिकेशन निर्देशिका और इसकी सामग्री (bower_compenders सहित) में आउटपुट निर्देशिका (www) के लिए आवश्यक स्रोत फ़ाइलें हैं। आप स्रोत निर्देशिकाओं को स्रोत-नियंत्रण (यानी git) में करते हैं, लेकिन उत्पन्न फाइलें (यानी www) नहीं। बॉवर और एनपीएम जैसे पैकेज प्रबंधकों का उपयोग बिल्ड / जेनरेशन चरण के दौरान किया जाना है और उनकी कलाकृतियों को स्रोत-नियंत्रण में जांचने के लिए नहीं है।

अंततः, जिस स्रोत की आप जांच करते हैं, वह विकास या परिनियोजन उद्देश्यों के लिए शेष परियोजना के निर्माण के लिए आवश्यक नंगे न्यूनतम विन्यास है।


0

यह अनदेखी करने के लिए अच्छा है /bower_componentsdir और केवल चेक इन bower.jsonऔर bower-locker.bower.jsonअगर आप का उपयोग कर ताला फ़ाइल बनाने फ़ाइल बोवर-लॉकर द्वारा लिखित शॉन Lonas

बोवर-लॉकर बनाए जाने से पहले, बोवर के सिकुड़ने की क्षमता नहीं होने के कारण नुकसान हुआ था लेकिन इसे उपरोक्त लाइब्रेरी द्वारा कम किया जा सकता है।

इसे प्राप्त करने के लिए निम्नलिखित आदेश चलाएँ:

npm install bower-locker -g

या

yarn global add bower-locker

फिर bower.jsonरनिंग द्वारा मौजूदा फाइल के आधार पर लॉक फाइल जेनरेट करें :

bower-locker lock

मूल bower.jsonफ़ाइल को फिर से नाम दिया जाएगाbower-locker.bower.json

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