2015-07-28 13 views
14

मैं एक गंदगी फ़ाइल बना रहा हूं, और मेरे पास 2 फ़ोल्डर्स हैं जिन्हें उनके लिए लागू एक ही गड़बड़ी की आवश्यकता है। मैं प्रत्येक फ़ोल्डर पर पुनरावृत्ति करने के लिए grunt template प्रॉपर्टी का उपयोग करने में सक्षम होना चाहता हूं ताकि कॉन्फ़िगरेशन ऑब्जेक्ट्स को दोहराकर मुझे अपनी ग्रिंट कॉन्फ़िगरेशन ऑब्जेक्ट को ब्लूट न करना पड़े। इसलिए जैसा:टेम्पलेट्स पर पुनरावृत्ति करने के लिए ग्रंट का उपयोग

app1: { 
    name: 'app1', 
    src: ['src/app/<%= app1.name %>'], 
    jsTpl: ['<%= distdir %>/<%= app1.name %>/templates/**/*.js'], 
    js: '<%= app1.src %>/**/*.js' 
}, 
app2 { 
    name: 'app2', 
    src: ['src/app/<%= app2.name %>'], 
    jsTpl: ['<%= distdir %>/<%= app2.name %>/templates/**/*.js'], 
    js: '<%= app2.src %>/**/*.js' 
}, 
concat: { 
    app1: { 
    src: ['<%= app1.src %>'], 
    dest: ['dist'] 
    }, 
    app2: { 
    src: ['<%= app2.src %>'], 
    dest: ['dist/<%= app2.name %>'] 
    } 
} 

यह आदर्श है और बहुत दोहराने के लिए app1 और app2 -rather नहीं करने के लिए सूखी हो सकता है, यह उन्हें कुछ विन्यास के माध्यम से एक साथ समूहीकृत की है, भयानक होगा। लेकिन मुझे यह पता लगाना प्रतीत नहीं होता कि इसे कैसे किया जाए। किसी भी मदद के लिए धन्यवाद!

धन्यवाद!

+1

पुरस्कार को यह Nikk के लिए अपने इनाम याद रखें की स्थापना

function appConfig(appName){ return { name: appName, src: ['src/app/' + appName], jsTpl: ['<%= distdir %>/' + appName + '/templates/**/*.js'], js: 'src/app/**/*.js' }; } 

तो बस इस समारोह कहते हैं। – James

उत्तर

7

ग्रंट सिर्फ एक साधारण जेएस है, इसलिए आप अपनी कॉन्फ़िगरेशन ऑब्जेक्ट्स जेनरेट करने के लिए एक फ़ंक्शन बना सकते हैं। जब आपके config

app1: appConfig('app1'), 
app2: appConfig('app2'), 
concat: { 
    app1: { 
     src: ['<%= app1.src %>'], 
     dest: ['dist'] 
    }, 
    app2: { 
     src: ['<%= app2.src %>'], 
     dest: ['dist/<%= app2.name %>'] 
    } 
} 
+0

बहुत बढ़िया। वह ऐसा करेगा। धन्यवाद! –

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