调用gulp时,我需要传递一个变量,这样我就可以管理不同的构建。
我在Win7上,尝试设置NODE_ENV像set NODE_ENV=prod
..然后我启动gulp
..在gulp文件中只有一个输出
var gulp = require('gulp');
gulp.task('default', function() {
console.log(process.env.NODE_ENV);
});
但是process.env.NODE_ENV始终是未定义的(?)
[23:53:55] Using gulpfile F:\DevOps\gulpEnvTest\gulpfile.js
[23:53:55] Starting 'default'...
undefined
[23:53:55] The following tasks did not complete: default
[23:53:55] Did you forget to signal async completion?
那是为什么? ..我还尝试了诸如cross-env之类的其他方法,但这还是行不通的。
答案 0 :(得分:0)
根据this answer,当您使用set NODE_ENV=prod
时,您只是在当前进程空间中进行设置。
您应使用setx NODE_ENV prod
将var设置为系统环境变量级别。