【问题标题】:Gulp task with babel and browserify + catching errors使用 babel 和 browserify + 捕获错误的 Gulp 任务
【发布时间】:2015-04-24 08:42:53
【问题描述】:

我的 gulp 文件:

var gulp = require('gulp');
var babel = require('gulp-babel');
var browserify = require('gulp-browserify');

gulp.task('precompile', function () {
  return gulp.src('app/assets/react/app.react.js')
    .pipe(babel())
    .pipe(gulp.dest('app/assets/javascripts/'))
});

gulp.task('browserify', ['precompile'], function () {
  return gulp.src(['app/assets/javascripts/app.react.js'])
    .pipe(browserify())
    .pipe(gulp.dest('app/assets/javascripts/'));
});

gulp.task('watch', function() {
  gulp.watch('app/assets/react/app.react.js', ['browserify']);
});

如果可能的话,我该如何改进?可能我只能用 browserify + transform (babelify) + console.log on errors 编写一个任务吗? 此时,如果我有解析错误 - gulp watch 崩溃了。

【问题讨论】:

  • btw gulp-browserify 插件在黑名单中

标签: javascript gulp browserify babeljs


【解决方案1】:

试试水管工

var plumber = require('gulp-plumber');

/**
 * Helper function to amend the pipe when a build task fails
 * see https://github.com/hughsk/vinyl-transform/issues/1
 * and: https://github.com/gulpjs/gulp/issues/259
 * @param {string} err  the error string
 */
function onError (err) {
    gutil.beep();
    console.log(err);
    this.emit('end');
}

return gulp.src('app/assets/react/app.react.js')
    .pipe(plumber({
            errorHandler: onError
        }))
    .pipe(babel());

gulp-browserify 也被列入黑名单。您可以按照本教程进行更多设置:https://medium.com/@sogko/gulp-browserify-the-gulp-y-way-bb359b3f9623

【讨论】:

  • 我尝试使用“gulp y way”,但这个问题阻止了我:github.com/substack/node-browserify/issues/1191你有没有一起使用vinyl-transfrom和browserify的工作示例?
  • 看来他们在 9.0.6 中再次破坏了东西。如果您将 browserify 固定到 8.x 甚至可能是 9.0.4,您可能会没事的。我的设置与该问题上的一些 cmets 相同,因此它绝对容易受到 b.bundle() 返回未定义行为的影响。
  • 与 9.0.4 我有错误“结束后写入”,这是我没有 babel 的简单 gulpfile - pastebin.com/Qwrmu6pL 任何 cmets?)你能显示你的 gulpfile 吗?
  • @MaxP 我的 browserify 部分看起来和你的一模一样。我在 100k 行 JS 上运行它没有问题。我的 browserify 版本是"browserify": "8.0.2"。也许你会有更好的运气。版本控制不是节点社区最好的部分
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-13
  • 1970-01-01
相关资源
最近更新 更多