मैं गल्प का उपयोग कर रहा हूं।gulp: uglify और sourcemaps
मैं एक या एकाधिक जेएस फाइलें (jQuery कहें) रखना चाहता हूं ताकि उन्हें एक साथ गठबंधन किया जा सके, इसे छोटा करें, और इसे वितरण फ़ोल्डर में लिखें।
इस तरह मैं यह कर:
minifyJS(['/js/myModule.file1.js',
'/js/myModule.file2.js'], '/dist/js', 'myModule')
समारोह:
function minifyJS(sourceFiles, destinationFolder, filenameRoot) {
return gulp.src(sourceFiles)
.pipe(plumber())
// .pipe(sourcemaps.init()) here ???
.pipe(concat(filenameRoot + '.js'))
.pipe(sourcemaps.init()) // or here ???
.pipe(gulp.dest(destinationFolder)) // save .js
.pipe(uglify({ preserveComments: 'license' }))
.pipe(rename({ extname: '.min.js' }))
.pipe(gulp.dest(destinationFolder)) // save .min.js
.pipe(sourcemaps.write('maps'))
.pipe(gulp.dest(destinationFolder)) // save .map
}
क्या मैं के बारे में निश्चित नहीं हूँ sourcemaps.init()
स्थान ...
मैं बनाना चाहिए कई है (2 मेरे मामले में) मैप फाइलें (यदि ब्राउज़र द्वारा समर्थित है तो यह अच्छा होगा) या केवल एक (/maps/myModule.map)?
धन्यवाद इस विस्तृत और सहायक स्पष्टीकरण के लिए बहुत कुछ ... अब इस तथ्य के बारे में कि इनपुट में एक्स (2) फाइलें हैं और आउटपुट में केवल एक है? क्या मुझे mymodule.min.js फ़ाइल के साथ वितरण फ़ोल्डर में शामिल करने के लिए एक या एकाधिक स्रोत मैप्स उत्पन्न करना चाहिए? ... – Serge
Gulp आपके लिए सही मैपिंग बनाएगा। यदि आपके पास सिर्फ एक आउटपुट फ़ाइल है, और केवल एक स्रोतमैप है, तो स्रोतमैप उत्पत्ति को समझ लेगा और आपको देव टूल्स में दो फाइलें दिखाएगा। यदि आप अपने दो आउटपुट (सामान्य और minfied एक) के लिए स्रोतमैप चाहते हैं, तो बस स्रोत maps.write दो बार – ddprrt
पर कॉल करें, लेकिन मुझे लगता है कि स्रोतमैप के साथ, आपको अब दो आउटपुट की आवश्यकता नहीं होगी। ;-) – ddprrt