javascript - Nodemon 重启运行 gulp 任务

标签 javascript node.js gulp

我的 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 文档指出您可以直接执行此操作,传递一组要执行的任务:

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();
});

关于javascript - Nodemon 重启运行 gulp 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21598340/

相关文章:

node.js - 如何使用feathersjs声明内部服务而不需要restful?

node.js - 为什么 css-nano(几乎)不起作用?

javascript - 如何从具有多个源文件的 gulp 任务一次返回所有流?

javascript - jquery 无法正常工作

javascript - 如何将对象中数组的索引值添加到键

node.js - 如何使用 Node 设置 Azure Blob 存储 CORS 属性?

javascript - 运行 gulp/nodemon 时设置 --max_old_space_size

javascript - Sequelize.js - join 子句中的子选择

javascript - 使用 typescript 时如何处理快速 Controller 方法参数?

node.js - 使用 SQLite3 包的 Node.js 脚本中的查询顺序错误