2013-03-08 12 views
47

मैंने एक नया गंदगी कार्य बनाया है और इसके भीतर मैं कुछ फाइलों को एकसाथ जोड़ने के लिए ग्रंट-कॉन्ट्रिब-कॉन्सैट का उपयोग करना चाहता हूं।मैं एक बदमाश कार्य के भीतर से एक कड़वाहट कार्य कैसे चला सकता हूं?

मैंने दस्तावेज़ों को देखा लेकिन मुझे ऐसा करने में सक्षम होने पर संकेत मिलता है। यह एक मामूली उपयोग के मामले की तरह लगता है, तो शायद मैं कुछ देखने पर बस हूँ।

अद्यतन 1:

मैं भी अपने कस्टम कार्य के भीतर से इस कार्य को कॉन्फ़िगर करने के लिए सक्षम होना चाहते हैं।

उदाहरण के लिए, मैं अपने कस्टम कार्य में फ़ाइलों की एक सूची बना देता हूं। मेरे पास उस सूची के बाद, मैं उन्हें संगत कार्य में पास करना चाहता हूं। मैं उसे कैसे कर सकता हूँ?

मैं ऐसा कुछ करने में सक्षम होना चाहता हूं।

grunt.task.run('concat', { src: ['file1','file2'], dest: 'out.js'}) 

अद्यतन 2:

प्राप्त करने के लिए मैं क्या चाहते हैं, मैं मैन्युअल घुरघुराना कार्य कॉन्फ़िगर करने के लिए की है। यहां एक उदाहरण दिया गया है जो मुझे दिखाता है कि मैं क्या चाहता था।

https://github.com/gruntjs/grunt-contrib/issues/118#issuecomment-8482130

+9

उपरोक्त जिथब लिंक मृत है। – moliveira

+0

आपको यह उपयोगी मिल सकता है: http://stackoverflow.com/questions/28847471/grunt-how-to-build-the-files-object- गतिशील रूप से/29244332#29244332 – almeidap

उत्तर

25

https://github.com/gruntjs/grunt/wiki/Creating-tasks

grunt.registerTask('foo', 'My "foo" task.', function() { 
    // Enqueue "bar" and "baz" tasks, to run after "foo" finishes, in-order. 
    grunt.task.run('bar', 'baz'); 
    // Or: 
    grunt.task.run(['bar', 'baz']); 
}); 
+0

कृपया मेरा संपादन देखें। मैंने विनिर्देशों को जोड़ा कि मैं अपने कार्य से कंसट का उपयोग कैसे करना चाहता हूं। –

+1

यदि कार्य को विकल्पों की आवश्यकता है तो यह काम करता है? – phtrivier

+1

आपको शायद @ArronS उत्तर जैसे कार्यों को कॉन्फ़िगर करने की आवश्यकता है। –

34

से यहाँ मैन्युअल रूप से एक कार्य के भीतर एक कार्य को विन्यस्त और फिर इसे चलाने का एक उदाहरण है। एरन के

https://github.com/gruntjs/grunt-contrib/issues/118#issuecomment-8482130

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'); 
    }); 
10

Thx अपने ही सवाल करने के लिए सही दिशा में हमें बताया कि। Grunt.config उपरोक्त उदाहरण से कुंजी है। इस कार्य browserify कार्य का स्रोत संपत्ति को पार कर जाएगी

टास्क परिभाषा:

grunt.registerTask('tests', function (spec) { 

    if (spec) { 
     grunt.config('browserify.tests.src', spec); 
    } 

    grunt.task.run(['jshint', 'browserify:tests', 'jasmine']); 

    }); 

टास्क कॉल:

grunt tests 

या

grunt tests:somewhere/specPath.js 
0

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

https://www.npmjs.org/package/extend-grunt-plugin

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

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