我的gulp
中有以下gulpfile.js
任务:
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的(我在Windows机器上)。
编辑:我在visual studio的Task Runner Explorer
内运行gulp版本。
答案 0 :(得分:3)
医生说:
默认情况下,未定义的环境变量将保持不变。
https://github.com/hughsk/envify#purging-processenv
你在尝试运行之前是否尝试过定义它?即。
process.env.NODE_ENV = 'production';