2016-01-05 6 views
8

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

प्रत्येक परियोजना (मॉड्यूल प्रति एक) एक package.json फ़ाइल, जिसमें मैं नाम और एक घटक के संस्करण की घोषणा में शामिल हैं:

{ 
    "name": "my-module", 
    "version" : "1.0.0", 
    // etc. 
} 

तो प्रत्येक मॉड्यूल एक निर्देशिका * में बनाया गया है/जिले/मेरी -मॉड्यूल/1.0.0/

लेकिन, मॉड्यूल में ही, मुझे इसके संस्करण तक पहुंचने की आवश्यकता है। उदाहरण के लिए, एक नियंत्रक में, मैं एक चर $scope.version = '1.0.0' घोषित करता हूं। लेकिन वर्तमान में, यह नियंत्रक लिपि में हार्डकोड किया गया है।


पहला सवाल, वहाँ एक रास्ता मॉड्यूल package.json फ़ाइल से संस्करण मिल सकता है? या यह कि अनुप्रयोग निर्माण करने वाली गड़बड़ी कार्य मॉड्यूल के वर्तमान संस्करण द्वारा स्क्रिप्ट में दिए गए ध्वज को प्रतिस्थापित करता है? (उदाहरण के लिए, मैं घोषणा कर सकता है मेरी चर $scope.version = 'FLAG_VERSION' जानते हुए भी कि निर्माण घुरघुराना दौरान सही मूल्य द्वारा ध्वज का स्थान ले लेगा)


दूसरा सवाल, वहाँ कुछ घुरघुराना घटक है जो के वर्तमान संस्करण को टैग करने की अनुमति देता है मेरे वीसीएस (उदाहरण के लिए एसवीएन) में एक मॉड्यूल और फिर वर्तमान संस्करण में वृद्धि? संक्षेप में, मॉड्यूल की एक रिलीज प्रदर्शन करते हैं।

संपादित करें: नया सवाल है कि इस मामले पर पूछे जाने पर देख Bump a specific version number on SVN using Grunt


कोई मदद या नेतृत्व की सराहना की जाएगी!

+1

https://github.com/vojtajina/grunt-bump – gearsdigital

+1

https://github.com/werk85/grunt-ng-constant – Joe

+0

क्या गिट-बंप जीआईटी की तुलना में एक और वीसीएस के साथ काम कर रहा है? – Eria

उत्तर

1

पहला सवाल

मैं एक घुरघुराना-एनजी-निरंतर कार्य जोड़ा मेरी घुरघुराना निर्माण करने के लिए (आप @Joe धन्यवाद) package.json फ़ाइल से कोणीय स्थिरांक उत्पन्न करने के लिए। यह बहुत अच्छा काम करता है, अब मैं उन्हें अपने निर्देशों और सेवाओं में इंजेक्ट कर सकता हूं। मुझे मॉड्यूल नाम को मेरे पैकेज.जेसन में जोड़ना पड़ा, क्योंकि एनजी-निरंतर कार्य को उत्पन्न स्थिरांक के लिए मॉड्यूल की पहचान करने की आवश्यकता है। और पैकेज.जेसन में घोषित नाम मॉड्यूल के नाम से अधिक प्रोजेक्ट नाम था।

{ 
    "name": "my-project", 
    "version" : "1.0.0", 
    "moduleName": "myModuleName" 
    // etc. 
} 

एनजी-निरंतर कार्य का परिणाम नीचे:

angular.module('myModuleName') 
.constant('appInfo', {name:'my-project',version:'1.0.0'}) 
; 

मैं अपने घुरघुराना निर्माण कार्य minification से पहले अपने आवेदन स्क्रिप्ट के अंत में इस उत्पन्न स्क्रिप्ट concat को, बदल दिया है। तो अब मैं उदाहरण के लिए एक सेवा में appInfo उपयोग कर सकते हैं:

angular.module('myModuleName').service('myService', [ ..., 'appInfo', function(..., appInfo){ 
    // I can use appInfo.name and appInfo.version here ! 
} 

सावधान रहें! मुझे एक ही पृष्ठ पर कई मॉड्यूल के लिए इसे लागू करने में आश्चर्य हुआ: यदि दो अलग-अलग मॉड्यूल पर एक ही नाम के साथ निरंतर घोषित किया गया है, तो पूर्व के मूल्य को बाद में ओवरराइड किया जाएगा। AngularJS module.constant() : how to define a constant inside a module only?


दूसरा सवाल

मैं एक और सवाल, और अधिक सटीक, उस बात पर से पूछा: Bump a specific version number on SVN using Grunt

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