process.env.NODE_ENV 已设置但仍未定义
process.env.NODE_ENV is set but still undefined
我需要在调用 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,但这也不行。
根据 this answer 使用 set NODE_ENV=prod
时,您只是在当前进程中设置它 space。
您应该使用setx NODE_ENV prod
将var设置为系统环境变量级别。
我需要在调用 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,但这也不行。
根据 this answer 使用 set NODE_ENV=prod
时,您只是在当前进程中设置它 space。
您应该使用setx NODE_ENV prod
将var设置为系统环境变量级别。