我该如何设置NODE_ENV?

时间:2016-11-13 07:12:22

标签: node.js reactjs gulp

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

<img>

当我运行gulp并检查chromeconsole时,它说:

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']);

我缺少什么或如何设置此NODE_ENV变量?我想以某种方式在gulpfile中设置它。

以下是完整的项目:github

2 个答案:

答案 0 :(得分:3)

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

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

module.exports = {
  ...

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

然后,在您的反应代码中,您可以访问NODE_ENV,并将其设置为process.env.NODE_ENV

答案 1 :(得分:0)

您可以使用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'])