我在gulpfile中有以下(简化的)设置:
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
发布于 2015-05-24 07:04:49
我拿到了你的脚本,清理了一下,重构了一些代码,我能够让它在我的机器上工作:
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']);
});需要注意的几件事:
据我所知,从今天起,
https://stackoverflow.com/questions/28220905
复制相似问题