这是我的相关部分gulpfile.js
:
var paths = {
sass: ['./www/**/*.scss'],
scripts: ['./www/**/*.js', '!./www/lib/**/*.js']
};
gulp.task('jshint', function(done) {
console.log('Running jshint');
gulp.src(paths.scripts)
.pipe(jshint())
.pipe(jshint.reporter('default'))
.on('end', done);
});
gulp.task('scripts', function(done) {
console.log('Running scripts');
gulp.src(paths.scripts)
.pipe(concat('chessmate.js'))
.pipe(gulp.dest('./www/'))
.on('end', done);
});
gulp.task('sass', function(done) {
gulp.src('./www/ionic.app.scss')
.pipe(sass({
errLogToConsole: true,
includePaths: []
}))
.pipe(concat('chessmate.css'))
.pipe(gulp.dest('./www/'))
.on('end', done);
});
gulp.task('watch', function() {
gulp.watch(paths.sass, ['sass']);
gulp.watch(paths.scripts, ['jshint', 'scripts']);
});
gulp.task('default', ['jshint', 'scripts', 'sass', 'watch']);
当我运行时gulp
,两者jshint
和scripts
都运行:
[gulp] Using gulpfile /Users/mishamoroshko/ChessMate/gulpfile.js
[gulp] Starting 'jshint'...
Running jshint
[gulp] Starting 'scripts'...
Running scripts
[gulp] Starting 'sass'...
[gulp] Starting 'watch'...
[gulp] Finished 'watch' after 93 ms
但是,如果我更新app.js
,则仅scripts
运行:
[gulp] Starting 'scripts'...
Running scripts
[gulp] Finished 'scripts' after 396 ms
为什么jshint
不运行?
显然,从以下样式更改:
gulp.task('taskname', function(done) {
[do stuff].on('end', done);
});
对此:
gulp.task('taskname', function() {
return [do stuff];
});
解决了问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句