【问题标题】:Nodemon restart run gulp tasksNodemon 重启运行 gulp 任务
【发布时间】:2014-02-06 09:10:33
【问题描述】:

我的 gulpfile 中有以下代码

gulp.task('scripts', function () {
    gulp.src(paths.browserify)
        .pipe(browserify())
        .pipe(gulp.dest('./build/js'))
        .pipe(refresh(server));
});

gulp.task('lint', function () {
    gulp.src(paths.js)
        .pipe(jshint())
        .pipe(jshint.reporter(stylish));
});

gulp.task('nodemon', function () {
    nodemon({
        script: 'app.js'
    });
});

我需要在 Nodemon 重新启动时运行脚本和 lint 任务。我有以下内容

gulp.task('nodemon', function () {
    nodemon({
        script: 'app.js'
    }).on('restart', function () {
        gulp.run(['scripts', 'lint']);
    });
});

Gulp.run() 现在已弃用,那么我将如何使用 gulp 和最佳实践来实现上述目标?

【问题讨论】:

  • 如果您要否决我的问题,为什么您认为这个问题无关紧要,请添加评论。
  • 也许投反对票的人认为应该从文档中清楚,但实际上,他应该说明他的理由。
  • 但是,文档中并不清楚。
  • 一个 gulp-nodemon 包装器,可在您开发时重新启动您的应用程序,并使您的构建系统包含在一个进程中。看到这个gulp-nodemon
  • 讨厌轻浮的反对者。投赞成票。

标签: javascript node.js gulp


【解决方案1】:

gulp-nodemon 文档说明您可以直接执行此操作,传递要执行的任务数组:

nodemon({script: 'app.js'}).on('restart', ['scripts', 'lint']);

doc here

更新,gulp-nodemon 的作者也使用 run:

想法#1,使用函数:

var browserifier = function () {
  gulp.src(paths.browserify)
    .pipe(browserify())
    .pipe(gulp.dest('./build/js'))
    .pipe(refresh(server));
});

gulp.task('scripts', browserifier);

var linter = function () {
  gulp.src(paths.js)
    .pipe(jshint())
    .pipe(jshint.reporter(stylish));
});

gulp.task('lint', linter);

nodemon({script: 'app.js'}).on('restart', function(){
  linter();
  browserifier();
});

【讨论】:

  • 是的,我在gulp-nodemon 看到了这个。如果您单击链接,您将能够知道作者也在使用已弃用的 gulp.run() 方法?我可以用 nodemon 做我想做的一切,而不必使用 gulp-nodemon。
  • 然后添加了一个建议,使用常规函数(想法出现在围绕“运行”弃用的 gulp 讨论中)。
【解决方案2】:

如果可以,请使用 Mangled Deutz 关于使用函数的建议。这是确保现在和未来都能正常工作的最好、最有保证的方法。

但是,如果您需要运行相关任务或一系列任务,函数将无济于事。我写了run-sequence 来解决这个问题。它不依赖gulp.run,可以按顺序运行一堆任务。

【讨论】:

  • 看起来很有趣,一定会试一试。我一直在寻找一种按顺序运行任务的方法。
猜你喜欢
  • 1970-01-01
  • 2016-07-22
  • 2019-06-22
  • 1970-01-01
  • 2017-11-22
  • 2016-10-01
  • 2017-03-13
  • 2019-03-15
  • 2016-02-12
相关资源
最近更新 更多