首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用浏览器/环境删除process.env.NODE_ENV?

用浏览器/环境删除process.env.NODE_ENV?
EN

Stack Overflow用户
提问于 2015-03-09 10:28:40
回答 2查看 6.3K关注 0票数 2

因此,我正在通过NPM和Browserify使用ReactJS,然而,我正试图弄清楚如何像自述那样在生产模式中构建它,但它似乎不起作用。我有下面的代码来设置浏览器:

代码语言:javascript
复制
var browserify = require('browserify');
var envify = require('envify/custom');
var debug = false;

..。

代码语言:javascript
复制
var libraries = browserify({
  debug: debug
}).transform(envify({
  _: 'purge',
  NODE_ENV: debug ? 'development' : 'production'
}));

gulpConfig.tasks.browserify.transformers.forEach(function(transform) {
  libraries.transform(transform);
});

gulpConfig.tasks.browserify.libraries.forEach(function(metaData) {
  if(metaData.path) {
    libraries.require(metaData.path, {
      expose: metaData.name
    });
  } else {
    libraries.require(metaData.name);
  }
});

var libraryStream = libraries.bundle()
.on('error', function(err){
  var message;

  if(err.description)
    message = 'browserify error: ' + err.description + ' when parsing ' + err.fileName + ' | Line ' + err.lineNumber + ', Column ' + err.column;
  else {
    message = err.message;
  }

  gutil.log(gutil.colors.red(message));

  this.emit('end');
})
.pipe(source('libraries.js'));

libraryStream.pipe(gulp.dest(gulpConfig.buildPath));

但是,当我查看编译后的代码时,我看到了一堆这样的内容:

代码语言:javascript
复制
if ("production" !== process.env.NODE_ENV) {

我认为它应该编译成:

代码语言:javascript
复制
if ("production" !== "production") {

然后,像UglifyJS2这样的工具就可以自动删除它。我是不是把环境设置错了?或者别的什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-09 16:27:30

React已经自动配置envify。它将获取构建脚本本身正在运行的环境。通常在运行实际构建脚本之前设置NODE_ENV

代码语言:javascript
复制
NODE_ENV=production gulp build

或者更好的是,您应该将构建步骤添加到您的"scripts"块中的package.json中,这样您就可以这样做了

代码语言:javascript
复制
npm run --production build
票数 6
EN

Stack Overflow用户

发布于 2015-12-02 09:44:14

只需更改为

代码语言:javascript
复制
var libraries = browserify({
  debug: debug
}).transform(envify({
  _: 'purge',
  NODE_ENV: debug ? 'development' : 'production'
}), {
  global: true
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28939762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档