已设置process.env.NODE_ENV,但仍未定义

时间:2019-07-27 22:04:19

标签: node.js gulp environment-variables

调用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之类的其他方法,但这还是行不通的。

1 个答案:

答案 0 :(得分:0)

根据this answer,当您使用set NODE_ENV=prod时,您只是在当前进程空间中进行设置。

您应使用setx NODE_ENV prod将var设置为系统环境变量级别。