2014-05-24 8 views
6

वर्तमान में मैं दो अलग-अलग कार्यों और यह सही काम करता है के साथ Gruntfile विन्यास निम्नलिखित है:ग्रंट config घड़ी और कर्म: एकल कार्य में इकाई

grunt.registerTask('server', [ 
    'connect', 
    'jshint', 
    'less:dev', 
    'watch' 
]); 

grunt.registerTask('test', [ 
    'karma:unit' 
]); 

मैं एक काम है कि दोनों चीजों को कवर करने के लिए और में लॉग इन करना चाहते हैं एक टर्मिनल खिड़की कुछ की तरह:

grunt.registerTask('dev', [ 
    'connect', 
    'jshint', 
    'less:dev', 
    'karma:unit', 
    'watch' 
]); 

समस्या यह है कि कर्म है और घड़ी एक साथ काम नहीं कर सकते। मैंने karma:unit:run को watch कॉन्फ़िगरेशन डालने का प्रयास किया है और यह काम करता है, लेकिन प्रत्येक फ़ाइल परिवर्तन पर कर्म कॉन्फ़िगर लोड करता है। और यह बात मुझे पसंद नहीं है:

Running "karma:unit:run" (karma) task 
[2014-05-25 01:40:24.466] [DEBUG] config - Loading config /Users/.../test/karma.config.js 
PhantomJS 1.9.7 (Mac OS X): Executed 4 of 4 SUCCESS (0.011 secs/0.012 secs) 

क्या इस समस्या को हल करने या अलग-अलग कार्यों को चलाने के लिए बेहतर कोई संभावना है?

उत्तर

4

उपयोग grunt-concurrent दोनों घड़ी और कर्म कार्यों को चलाने के लिए:

concurrent: { 
    target: { 
    tasks: ['karma:unit', 'watch'] 
    } 
} 

फिर अपने देव कार्य से समवर्ती कार्य चलाएँ:

grunt.registerTask('dev', [ 
    'connect', 
    'jshint', 
    'less:dev', 
    'concurrent:target' 
]); 
+3

धन्यवाद, इन मैं खोज रहा था। लेकिन उचित लॉगिंग के लिए 'logConcurrentOutput: true' जोड़ने की आवश्यकता है। –

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