Sto usando il gulp.gulp: uglify and sourcemaps
Mi piacerebbe avere uno o più file JS (ad esempio jQuery) per unirli in uno, ridimensionarlo e scriverlo in una cartella di distribuzione.
Questo è come lo faccio:
minifyJS(['/js/myModule.file1.js',
'/js/myModule.file2.js'], '/dist/js', 'myModule')
la funzione:
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
}
Quello che non sono sicuro circa è il multiplo sourcemaps.init()
posizione ...
Devo creare (2 nel mio caso) file di mappe (che sarebbe bello se supportato dai browser) o solo uno (/maps/myModule.map)?
Grazie molto per questa spiegazione dettagliata e utile ... Ora che ne dici del fatto che ci sono x (2) file in input e solo uno in uscita? Devo generare uno o più file sorgente da includere nella cartella di distribuzione insieme al file mymodule.min.js? ... – Serge
Gulp creerà la mappatura corretta per te lì. Se si ha solo un file di output, e anche solo una mappa di sourc, la mappa sorgente capirà le origini e mostrerà due file negli strumenti di sviluppo. Se si desidera disporre di sorgenti video per le due uscite (quella normale e quella minima), chiamare semplicemente sourcemaps.write due volte – ddprrt
Ma penso che con la funzione sourcemaps, non sarà più necessario disporre di due output. ;-) – ddprrt