2013-03-09 5 views

उत्तर

15

मान लें कि आपका ग्रंट संस्करण 0.4.0 है, AFAIK आप सबसे हालिया सिंटेक्स का उपयोग नहीं कर रहे हैं (https://github.com/gruntjs/grunt-contrib-uglify#usage-examples देखें)।

uglify: { 
    build: { 
     files: { 
      'client/dist/js/build.js': ['client/src/js/*.js'] 
     } 
    } 
} 

प्रयास करें मैं भी यकीन नहीं करता है, तो वाइल्डकार्ड ठीक से नियंत्रित किया जाता है कर रहा हूँ।

+0

एक आकर्षण की तरह काम किया, धन्यवाद। –

15

मुझे पता है कि यह हल के रूप में चिह्नित है, लेकिन मैं अभी भी this answer from a similar question पसंद करता हूं क्योंकि आप उन्हें दो बार लिखने के बिना फ़ाइलों को आसानी से अन्य कमांड के लिए उपयोग कर सकते हैं।

संक्षेप में, इस सवाल का जवाब कहते हैं

//Does not work 
src: ['client/src/js/*.js'], 
dest: ['client/dist/js/build.js'] 
//Works 
src: ['client/src/js/*.js'], 
dest: 'client/dist/js/build.js' 

परीक्षण फ़ाइलों दो बार लिखे बिना उदाहरण काम कर रहे:

'use strict'; 
module.exports = function(grunt) { 
    grunt.initConfig({ 
    uglify: { 
     build: { 
     src: ['client/src/js/*.js'], 
     dest: 'client/dist/js/build.js' 
     } 
    }, 
    watch: { 
     js: { 
     files: '<%= uglify.build.src %>', 
     tasks: ['uglify'] 
     } 
    } 
    }); 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.registerTask('default', [ 
    'uglify', 
    ]); 
    grunt.registerTask('dev', [ 
    'watch' 
    ]); 
}; 

सूचना है कि '<%= uglify.build.src %>' बहुत आसान है,)

निष्पादन

$ grunt watch 
Running "watch" task 
Waiting...OK 
>> File "client/src/js/hello.js" changed. 
Running "uglify:build" (uglify) task 
File "client/dist/js/build.js" created. 
Uncompressed size: 15 bytes. 
Compressed size: 32 bytes gzipped (15 bytes minified). 

Done, without errors. 
+1

+1 यह एक अच्छा समाधान है। इसके अलावा, मेरे पास mymail, जेएस, और सीएसएस पथ के साथ मेरा पैकेज.जेसन उत्पन्न हुआ है ताकि मैं उन्हें '<% = pkg.path.js%> 'आदि के साथ संदर्भित कर सकूं। – Larry

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