首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带Gulp/Browserify的剩余NODE_ENV错误

带Gulp/Browserify的剩余NODE_ENV错误
EN

Stack Overflow用户
提问于 2016-11-30 06:23:20
回答 1查看 773关注 0票数 6

我在一个React/Redux应用程序上得到了这个错误消息,该应用程序被缩小并打包为Browserify和Gulp,并部署到Heroku。

bundle.js:39 You are currently using minified code outside of NODE_ENV === 'production'. This means that you are running a slower development build of Redux.

但是,构建步骤似乎是在NODE_ENV = 'production'中完成的。

我有一个任务来设置env变量,如下所示

代码语言:javascript
复制
gulp.task('apply-prod-environment', function() {
  return process.env.NODE_ENV = 'production';
});

Heroku的日志显示ENV正在生产:

为了保证apply-prod-environment在其他任务之前运行,我使用了RunSequence Gulp插件。

代码语言:javascript
复制
gulp.task('buildProd', cb => {
  runSequence(
    'apply-prod-environment',
    'task-1',
    'task-2',
    'etc',
    cb
  );
});

编辑

第二次尝试.

代码语言:javascript
复制
import envify from 'envify/custom';

function buildJS(sourceFile, {setEnv}) {
  return browserify(sourceFile)
    .transform(babelify, {
      presets: ['es2015', 'react', 'stage-2']
    })
    .transform(envify({
      NODE_ENV: setEnv
    }))
    .bundle()
    .on('error', (e) =>  {
      gutil.log(e);
    });
}

仍然得到相同的错误

第三次尝试.

代码语言:javascript
复制
function buildJS(sourceFile, {setEnv}) {
  return browserify(sourceFile)
    .transform(babelify, {
      presets: ['es2015', 'react', 'stage-2']
    })
    .transform(
      {global: true},
      envify({
        NODE_ENV: setEnv
      })
    )
    .bundle()
    .on('error', (e) =>  {
      gutil.log(e);
    });
}

仍然得到相同的错误

EN

回答 1

Stack Overflow用户

发布于 2016-11-30 07:02:36

我与同样的问题做了斗争,最后我使用松懈来模拟我想要覆盖的环境变量。

然后,我的吞咽任务看起来如下:

代码语言:javascript
复制
gulp.task('javascript:prod', function() {
return browserify("app/main.js", { debug: !IS_PROD })
    .transform("babelify", { presets: [ "es2015", "react" ], plugins: [ "transform-object-rest-spread", "transform-function-bind", "transform-object-assign" ] })
    .transform('loose-envify', { NODE_ENV: 'production' })
    .bundle()
    .pipe(source('app.js'))
    .pipe(buffer())
    .pipe(uglify())
    .pipe(rev())
    .pipe(gulp.dest("./public/javascripts/"))
    .pipe(rev.manifest({merge:true, base: 'build/assets'}))
    .pipe(gulp.dest('build/assets'));
});
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40881633

复制
相关文章

相似问题

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