2012-09-11 14 views
8

ग्रंट हेल्पर्स को हटा रहा है और यह पहले से ही गड़बड़ी-contrib में हुआ है।अगर मददगार चले गए हैं तो ग्रंट में कोड से कार्यों को कैसे कॉल करें

हालांकि मेरे पास कुछ कस्टम कार्यों पर निर्भर एक अनुदान फ़ाइल है जो उन सहायकों को बुलाती है। मददगार के बिना यह टूट जाता है। मैं बस सोच रहा हूं कि उनको बदलने का सही तरीका क्या होना चाहिए।

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

धन्यवाद।

उत्तर

9

ठीक बाद कुछ अनुसंधान और घुरघुराना-योगदान की देखरेख की मदद से, मुझे लगता है कि काम दुबारा लिखा मेरे पास है:

grunt.registerMultiTask('multicss', 'Minify CSS files in a folder', function() { 
    grunt.file.expandFiles(this.data).forEach(function(file) { 
     var minified = grunt.helper("mincss", grunt.file.read(file)); 
     grunt.file.write(file, minified); 
     grunt.log.writeln("Minified CSS "+file); 
    }); 
}); 

इस में:

grunt.registerMultiTask('multicss', 'Minify CSS files in a folder', function() { 
    var count = 0; 
    grunt.file.expandFiles(this.data).forEach(function(file) { 
     var property = 'mincss.css'+count+'.files'; 
     var value = {}; 
     value[file] = file; 
     grunt.config(property, value); 
     grunt.log.writeln("Minifying CSS "+file); 
     count++; 
    }); 
    grunt.task.run('mincss'); 
}); 

कोई अन्य परिवर्तन config में आवश्यक फ़ाइल। कोड का नया टुकड़ा चले गए सहायक के बजाए कार्य का उपयोग करता है।

यह सबसे अच्छा तरीका नहीं हो सकता है और ग्रंट 0.4.0 फिर से गेम बदल सकता है, लेकिन यह अभी Grunt 0.3.15 और grunt-contrib 0.2 के साथ काम करता है।

+1

मैं इस सवाल के बारे में भी बहुत उत्सुक हूं और वर्तमान में मैं कुछ ऐसा कर रहा हूं लेकिन यह मेरे लिए इतना अक्षम दिखता है! 'Var result = grunt.task.run ('mincss', ['style1.css', 'style2.css', ...]) जैसे कुछ करने के बजाय 'आप जाते हैं और * हैक * कार्य की कॉन्फ़िगरेशन और फिर चलाते हैं यह सामान्य तरीका है। यदि आप गतिशील रूप से अन्य कार्यों के लिए डेटा तैयार करने का तरीका ले रहे हैं, तो मेरा मानना ​​है कि ऐसा करने का एक बेहतर तरीका होना चाहिए। यदि आप संभव हो तो कृपया ग्रंट-कॉन्ट्रिब रखरखाव के साथ अपनी चर्चा से लिंक कर सकते हैं? –

+0

इसे मिला, यहां चर्चा का लिंक दिया गया है: https://github.com/gruntjs/grunt-contrib/issues/118 –

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