2015-11-04 7 views
5

Ho il seguente gulp compito nel mio gulpfile.js:Impostazione NODE_ENV via envify non funziona

gulp.task('build-scripts', function() { 
    var b = browserify({ debug: false }); 
    b.transform(reactify); 
    b.transform(envify({ 
     _: 'purge', 
     NODE_ENV: 'production' 
    })); 

    b.add('./src/scripts/index.js'); 

    return b.bundle() 
    .pipe(source('./www/scripts/dist/bundle.js')) 
    .pipe(buffer()) 
    .pipe(uglify()) 
    .pipe(gulp.dest('.')) 

}); 

L'attività viene completata con lo stato 0 e il React trasformare accade, ma in bundle.js vedo ancora:

if (process.env.NODE_ENV !== 'production') { 

Questo non doveva andare via con la trasformazione envify? Sto facendo qualcosa di sbagliato qui?

Ho fatto qualche ricerca, ma tutte le soluzioni che posso trovare sono specifiche per os x/linux (sono su una macchina Windows).

MODIFICA: Sto eseguendo il gulp build dall'interno dello studio visivo Task Runner Explorer.

risposta

3

Il dottore dice:

Per impostazione predefinita, le variabili di ambiente che non sono definiti saranno lasciati intatti.

https://github.com/hughsk/envify#purging-processenv

Hai provato definirla prima di eseguire questo? Ad esempio

process.env.NODE_ENV = 'production'; 
Problemi correlati