我如何设置NODE_ENV?

我在我的reactjs解决scheme中使用gulp,并想设置NODE_ENV,我试过这个:

gulp.task('set-dev-node-env', function() { return process.env.NODE_ENV = 'development'; }); //dev environment run gulp.task('default', ['set-dev-node-env', 'webpack-dev-server']); 

当我运行吞噬并检查chromeconsole它说:

 testing process.env.NODE_ENV undefined 

我错过了什么或如何设置这个NODE_ENVvariables? 我想以某种方式将其设置在gulp文件中。

这是完整的项目: github

由于您使用的是WebPack,所以您可以使用WebPack Define Plugin来注入NODE_ENV

例如在你的webpack.config.dev.js中:

 module.exports = { ... plugins: [ ... new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify('development'), }), ], }; 

然后在您的反应代码中,您将有权访问您设置为process.env.NODE_ENV NODE_ENV

你可以尝试使用gulp-env模块

 // gulpfile.js var gulp = require('gulp'); var env = require('gulp-env'); gulp.task('set-dev-node-env', function () { env({ vars: { NODE_ENV: "development" } }) }); gulp.task('default', ['set-dev-node-env', 'webpack-dev-server'])