2014-05-15 17 views
6

Come abilitare le mappe di origine? Sto facendo questo:gulp, browserify, mappe?

var browserify = require("gulp-browserify") 

    gulp.task("compile:client", function() { 
    gulp.src("src/client/app.coffee", { 
     read: false 
    }) 
    .pipe(browserify({ 
     debug: true // THIS DOES NOTHING :(
     transform: ['coffeeify'], 
     extensions: ['.coffee'] 
    })) 
    .pipe(rename('app.js')); 
    }); 

Ahi ... per qualche ragione sul github page per gulp-browserify si dice: plugin è nella lista nera.

Non capisco ... come diavolo suppongo di usare browserify con i miei file coffeescript allora?

UPD: Ha! Ho sbagliato: l'opzione debug funziona. Attacca semplicemente le informazioni sulle mappe di origine proprio lì nel file javascript di output. Eccezionale. Ancora la domanda rimane aperta: perché questo plugin è nella lista nera?

risposta

3

Date un'occhiata qui:

https://github.com/gulpjs/plugins/issues/47

e qui:

https://github.com/gulpjs/gulp/issues/369

UPDATE:

non credo che questo qui sotto è "disordinato".

var source = require('vinyl-source-stream'); 
var browserify = require('browserify'); 

var bundler = browserify('./js/index.js'); 

gulp.task('compile', function(){ 
    return bundler.bundle({standalone: 'noscope'}) 
    .pipe(source('noscope.js')) 
    .pipe(gulp.dest('./dist')); 
}); 
+0

Sì, ma tutte le altre soluzioni sono confuse. Sembra che molte persone si blocchino ancora sul plug-in, suppongo che mi limiterò anche a questo, fino a trovare il modo migliore – Agzam

+0

I commenti non sono utilizzabili. Aggiornerò la risposta –

+0

Non capisco :(Che cosa è 'noscope.js'? Come applicare alla mia situazione? Ho bisogno di coffeeyify i miei file e aggiungere source-maps se' process.env.NODE_ENV === "sviluppo" ' – Agzam

10

ho trovato una soluzione, dalla scansione del Web, e sembra che questo:

var browserify = require('browserify'); 
var gulp = require('gulp'); 
var exorcist = require('exorcist'); 
var source = require('vinyl-source-stream'); 
var concat = require('gulp-concat'); 
var uglify = require('gulp-uglify'); 
var sourcemaps = require('gulp-sourcemaps'); // https://www.npmjs.org/package/gulp-sourcemaps 

gulp.task('browserify', function(){ 
    return browserify({ 
      entries: ['./file1.js'], 
      debug: true 
     }) 
     .bundle() 
     .pipe(exorcist('./output.js.map')) 
     .pipe(source('output.js')) 
     .pipe(gulp.dest('./')); 
}); 

gulp.task('together', ['browserify'], function() { 
    return gulp.src('output.js') 
    .pipe(sourcemaps.init({loadMaps: true})) 
     .pipe(concat('all-with-maps.js')) 
     .pipe(uglify()) 
    .pipe(sourcemaps.write('.', {addComment: true /* the default */, sourceRoot: '/src'})) 
    .pipe(gulp.dest('dist')); 
}); 

Assicurarsi di avere una versione recente di browserify installato (io uso 5.10.0 ad oggi) .. Avevi bisogno di passare {debug: true} alla chiamata bundle() .. ma è stata spostata direttamente su browserify().

Per quanto riguarda la lista nera: si ritiene sia preferibile utilizzare browserify() direttamente, come facciamo qui. Non c'è bisogno di un plugin che sembrerebbe.

Problemi correlati