首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gulp jscs在gulp watch管道中使用时不会输出任何内容

gulp jscs在gulp watch管道中使用时不会输出任何内容
EN

Stack Overflow用户
提问于 2015-01-30 01:27:52
回答 1查看 607关注 0票数 0

我在gulpfile中有以下(简化的)设置:

代码语言:javascript
复制
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var jscs = require('gulp-jscs');
var watch = require('gulp-watch');

var paths = {
        scripts: ['js/*.js']
    }    
var jscsRunner = jscs({
        disallowMixedSpacesAndTabs: true // etc
    });    
var jshintRunner = jshint({
        browser: true // etc
    });

// this outputs messages from jshint no problem
gulp.task('jshint', function() {
    return gulp.src(paths.scripts)
    .pipe(jshintRunner)
    .pipe(jshint.reporter('default'));
});

// this outputs messages from jscs no problem
gulp.task('jscs', function() {
    return gulp.src(paths.scripts)
    .pipe(jscsRunner);
});

// this only outputs messages from jshint
gulp.task('watch', function() {
    return watch(paths.scripts)
    .pipe(jscsRunner)
    .pipe(jshintRunner)
    .pipe(jshint.reporter('default'));
});

我的问题是-如前所述-在watch任务中没有从jscs生成输出,即使管道在本质上与jscs任务中完全相同,在jscs任务中它也是按预期工作的。

(我在Windows上运行这个程序。)

编辑:此问题已在此处转载和讨论:https://github.com/jscs-dev/gulp-jscs/pull/66

EN

回答 1

Stack Overflow用户

发布于 2015-05-24 07:04:49

我拿到了你的脚本,清理了一下,重构了一些代码,我能够让它在我的机器上工作:

代码语言:javascript
复制
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var jscs = require('gulp-jscs');

var paths = {
        scripts: ['js/*.js']
    }    

// this outputs messages from jshint no problem
gulp.task('jshint', function() {
    return gulp.src(paths.scripts)
        .pipe(jshint({browser: true}))
        .pipe(jshint.reporter('default'));
});

// this outputs messages from jscs no problem
gulp.task('jscs', function() {
    return gulp.src(paths.scripts)
    .pipe(jscs({ disallowMixedSpacesAndTabs: true }));
});

// this only outputs messages from jshint
gulp.task('watch', function() {
    return gulp.watch(paths.scripts,['jscs','jshint']);
});

需要注意的几件事:

据我所知,从今天起,

  1. 已经内置到吞咽中了,所以不需要再需要吞咽了。我在我的机器上运行gulp版本3.8.11,上面的脚本运行得很好,并且我的机器上没有安装任何名为'gulp-watch‘的模块。因此,我将更新到最新版本的gulp,并从脚本和package.json.
  2. If中删除gulp watch要求,您可以将jshint和jscs的选项放入单独的文件中,并将这些文件的路径作为参数包含到jshint和jscs respectively.
  3. Other中,而不是像我所做的重构那样,代码按预期工作,所以我不确定代码中到底有什么不正确的地方。但由于我是新手,因此很难推测您在watch语句中进行的菊花链式管道调用可能出了什么问题。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28220905

复制
相关文章

相似问题

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