2015-11-04 2 views
5

У меня есть следующие gulp задачи в моем gulpfile.js:Установка NODE_ENV через envify не работает

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('.')) 

}); 

задача завершается со статусом 0 и React преобразование происходит, но в bundle.js я все еще вижу:

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

Разве это не должно было исчезнуть с трансформацией envify? Я делаю что-то неправильно здесь?

Я сделал кое-что, но все решения, которые я могу найти, это os x/linux specific (я на машине с Windows).

EDIT: Я запускаю сборку gulp изнутри визуальной студии Task Runner Explorer.

ответ

3

Док говорит:

По умолчанию переменные окружения, которые не определены, будут оставлены нетронутыми.

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

Вы пробовали определения его перед запуском, что? то есть

process.env.NODE_ENV = 'production'; 
Смежные вопросы