2013-01-08 8 views
12

मैं अपने grunt 0.4 में grunt-contrib-uglify प्लगइन का उपयोग कर रहा हूं।गुस्से में काम करने के लिए कई स्रोत-मानचित्र कैसे निर्दिष्ट करें?

मैं निम्नलिखित कार्य किया है:

uglify: { 
    dist: { 
    options: { 
     sourceMap: 'dist/sm/sm.js' 
    }, 
    files: grunt.file.expandMapping(['*.js'], 'dist/js', { 
     cwd: 'dist/js' 
    }) 
    } 
}, 

आप देख सकते हैं, बदसूरत करना एकाधिक फ़ाइलों को संपीड़ित करने के लिए कॉन्फ़िगर किया गया है, और वहाँ केवल एक स्रोत-नक्शा निर्दिष्ट है। (मैं एकाधिक स्रोतमैप आउटपुट निर्दिष्ट करने का कोई तरीका समझने में सक्षम नहीं हूं)।

इसके अलावा, uglify प्रत्येक जेएस फ़ाइल को संपीड़ित करने के बाद सॉसमैप को ओवरराइट कर रहा है।

मैं अपने सभी जेएस फ़ाइलों के लिए पूर्ण स्रोत-मानचित्र आउटपुट करने के लिए इस प्लगइन को कैसे कॉन्फ़िगर कर सकता हूं?

उत्तर

11

आप SourceMap पर फ़ंक्शन सेट कर सकते हैं।

uglify: { 
    options: { 
     sourceMap: function(path) { return path.replace(/.js/,".map")} 
    }, 
    ..... 
+3

'sourceMap: समारोह (पथ) {वापसी path.replace (।/Js $ /," js.map। ")}' –

2

V0.4.0 संस्करण में, sourceMapBoolean मूल्य है। कई .min.js फ़ाइलों के साथ एकाधिक स्रोत मैप बनाने के लिए गतिशील निर्माण का उपयोग करें।

uglify: { 
    options: { 
    sourceMap: true 
    }, 
    build: { 
    files: [{ 
     expand: true, 
     cwd: 'src/', 
     src: '*.js', 
     dest: 'build/', 
     ext: '.min.js', 
     extDot: 'first' 
    }] 
    } 
} 
0
options: { 
    beautify: false, 
    banner: 'lorem ipsum', 
    mangle: false, 
    sourceMap: true, 
    compress: { 
    conditionals: true, 
    booleans: true, 
    unused: true, 
    sequences: true, 
    dead_code: true, 
    if_return: true, 
    join_vars: true, 
    drop_console: true 
    } 
}, 
min: { 
    files: [{ 
    expand: true, 
    cwd: '<%= config.destination.js %>', 
    src: ['**/*.js', '!**/*.min.js'], 
    dest: '<%= config.destination.js %>', 
    ext: '.min.js' 
    }] 
} 
संबंधित मुद्दे

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