简体   繁体   English

如何设置NODE_ENV?

[英]How can I set NODE_ENV?

I am using gulp in my reactjs solution and want to set the NODE_ENV, I tried this: 我在我的reactjs解决方案中使用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']);

When I run gulp and check the chromeconsole it says: 当我运行gulp并检查chromeconsole时,它说:

testing process.env.NODE_ENV undefined

What am I missing or how can I set this NODE_ENV variable? 我缺少什么或如何设置此NODE_ENV变量? I would like to set it in the gulpfile somehow. 我想以某种方式在gulpfile中设置它。

Here is the complete project: github 这是完整的项目: github

Since you are using WebPack you can use the WebPack Define Plugin to inject the NODE_ENV 由于使用的是WebPack,因此可以使用WebPack定义插件注入NODE_ENV

For example in your webpack.config.dev.js: 例如在您的webpack.config.dev.js中:

module.exports = {
  ...

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

Then in your react code you will have access to it NODE_ENV you set as process.env.NODE_ENV . 然后,在您的NODE_ENV代码中,您将可以访问它设置为process.env.NODE_ENV NODE_ENV

You can try this using gulp-env module 您可以使用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'])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM