2015-09-14 5 views
5

Sto utilizzando Gulp e Bower per ottenere JQuery nel mio progetto. Tuttavia il file jquery.min.cs ha un SourceMappingURL alla fine del file precompilato e vorrei rimuoverlo.Rimuovi mappatura origine con Gulp

Attualmente la mia Gulp basta copiare il file originale alla destinazione del genere:

gulp.task('jquery', function() { 
    gulp.src(paths.jquerySrc) 
     .pipe(gulp.dest(paths.jqueryDest)); 
}); 

ho trovato un sacco di modi per aggiungere mappature di origine ma nessuno da rimuovere. Mi piacerebbe non ricompilare tutta la jquery solo per quello.

risposta

4

Si potrebbe provare questo:

const paths = { 
    jquerySrc: './path/to/src/jquery.css', 
    jqueryDest: './path/to/dest/' 
}; 

gulp.task('jquery', function() { 
    gulp.src(paths.jquerySrc) 
     .pipe(sourcemaps.init({loadMaps: true})) 
     .pipe(sourcemaps.write('/dev/null', {addComment: false})) 
     .pipe(gulp.dest(paths.jqueryDest)); 
}); 

si potrebbe anche provare il pacchetto strip-source-map-loader. Mai usato, ma in teoria dovrebbero funzionare entrambi, forse.

+0

funziona molto bene! Ho provato questo, ma ho perso il '/ dev/null'. –

+1

nel mio sistema (osx) crea una directory effettiva nella cartella di origine chiamata 'dev', e un altro chiamato 'null' al suo interno. –

+0

Sono sorpreso che non succeda su tutti i sistemi. Robert McKee e @ max-bündchen sul tuo sistema gulp trattano il 'null' come una non-destinazione speciale, nonostante le virgolette? – henry

1

Il pacchetto gulp-purge-sourcemaps ha funzionato per me. Ecco quello che si potrebbe fare con il tuo esempio:

const purgeSourcemaps = require('gulp-purge-sourcemaps'); 

gulp.task('jquery', function() { 
    gulp.src(paths.jquerySrc) 
     .pipe(sourcemaps.init({loadMaps: true})) 
     .pipe(purgeSourcemaps()) 
     .pipe(gulp.dest(paths.jqueryDest)); 
});